Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(874)

Side by Side Diff: third_party/WebKit/Source/core/inspector/browser_protocol.json

Issue 2882193002: [devtools] Add DOMSnapshot domain for dom+layout+style snapshots. (Closed)
Patch Set: back to DOMSnapshot domain, with custom node types + traversal. Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 { 1 {
2 "version": { "major": "1", "minor": "2" }, 2 "version": { "major": "1", "minor": "2" },
3 "domains": [{ 3 "domains": [{
4 "domain": "Inspector", 4 "domain": "Inspector",
5 "experimental": true, 5 "experimental": true,
6 "types": [], 6 "types": [],
7 "commands": [ 7 "commands": [
8 { 8 {
9 "name": "enable", 9 "name": "enable",
10 "description": "Enables inspector domain notifications." 10 "description": "Enables inspector domain notifications."
(...skipping 3030 matching lines...) Expand 10 before | Expand all | Expand 10 after
3041 { 3041 {
3042 "id": "InlineTextBox", 3042 "id": "InlineTextBox",
3043 "type": "object", 3043 "type": "object",
3044 "properties": [ 3044 "properties": [
3045 { "name": "boundingBox", "$ref": "DOM.Rect", "description": "The absolute position bounding box." }, 3045 { "name": "boundingBox", "$ref": "DOM.Rect", "description": "The absolute position bounding box." },
3046 { "name": "startCharacterIndex", "type": "integer", "descrip tion": "The starting index in characters, for this post layout textbox substring ." }, 3046 { "name": "startCharacterIndex", "type": "integer", "descrip tion": "The starting index in characters, for this post layout textbox substring ." },
3047 { "name": "numCharacters", "type": "integer", "description": "The number of characters in this post layout textbox substring." } 3047 { "name": "numCharacters", "type": "integer", "description": "The number of characters in this post layout textbox substring." }
3048 ], 3048 ],
3049 "description": "Details of post layout rendered text positions. The exact layout should not be regarded as stable and may change between version s.", 3049 "description": "Details of post layout rendered text positions. The exact layout should not be regarded as stable and may change between version s.",
3050 "experimental": true 3050 "experimental": true
3051 },
3052 {
3053 "id": "LayoutTreeNode",
3054 "type": "object",
3055 "properties": [
3056 { "name": "nodeId", "$ref": "DOM.NodeId", "description": "Th e id of the related DOM node matching one from DOM.GetDocument." },
3057 { "name": "boundingBox", "$ref": "DOM.Rect", "description": "The absolute position bounding box." },
3058 { "name": "layoutText", "type": "string", "optional": true, "description": "Contents of the LayoutText if any" },
3059 { "name": "inlineTextNodes", "type": "array", "optional": tr ue, "items": { "$ref": "InlineTextBox" }, "description": "The post layout inline text nodes, if any." },
3060 { "name": "styleIndex", "type": "integer", "optional": true, "description": "Index into the computedStyles array returned by getLayoutTreeAn dStyles." }
3061 ],
3062 "description": "Details of an element in the DOM tree with a Lay outObject.",
3063 "experimental": true
3064 },
3065 {
3066 "id": "ComputedStyle",
3067 "type": "object",
3068 "properties": [
3069 { "name": "properties", "type": "array", "items": { "$ref": "CSSComputedStyleProperty" } }
3070 ],
3071 "description": "A subset of the full ComputedStyle as defined by the request whitelist.",
3072 "experimental": true
3073 } 3051 }
3074 ], 3052 ],
3075 "commands": [ 3053 "commands": [
3076 { 3054 {
3077 "name": "enable", 3055 "name": "enable",
3078 "description": "Enables the CSS agent for the given page. Client s should not assume that the CSS agent has been enabled until the result of this command is received." 3056 "description": "Enables the CSS agent for the given page. Client s should not assume that the CSS agent has been enabled until the result of this command is received."
3079 }, 3057 },
3080 { 3058 {
3081 "name": "disable", 3059 "name": "disable",
3082 "description": "Disables the CSS agent for the given page." 3060 "description": "Disables the CSS agent for the given page."
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after
3258 "name": "getBackgroundColors", 3236 "name": "getBackgroundColors",
3259 "parameters": [ 3237 "parameters": [
3260 { "name": "nodeId", "$ref": "DOM.NodeId", "description": "Id of the node to get background colors for." } 3238 { "name": "nodeId", "$ref": "DOM.NodeId", "description": "Id of the node to get background colors for." }
3261 ], 3239 ],
3262 "returns": [ 3240 "returns": [
3263 { "name": "backgroundColors", "type": "array", "items": { "t ype": "string" }, "description": "The range of background colors behind this ele ment, if it contains any visible text. If no visible text is present, this will be undefined. In the case of a flat background color, this will consist of simpl y that color. In the case of a gradient, this will consist of each of the color stops. For anything more complicated, this will be an empty array. Images will b e ignored (as if the image had failed to load).", "optional": true } 3241 { "name": "backgroundColors", "type": "array", "items": { "t ype": "string" }, "description": "The range of background colors behind this ele ment, if it contains any visible text. If no visible text is present, this will be undefined. In the case of a flat background color, this will consist of simpl y that color. In the case of a gradient, this will consist of each of the color stops. For anything more complicated, this will be an empty array. Images will b e ignored (as if the image had failed to load).", "optional": true }
3264 ], 3242 ],
3265 "experimental": true 3243 "experimental": true
3266 }, 3244 },
3267 { 3245 {
3268 "name": "getLayoutTreeAndStyles",
3269 "parameters": [
3270 { "name": "computedStyleWhitelist", "type": "array", "items" : { "type": "string" }, "description": "Whitelist of computed styles to return." }
3271 ],
3272 "returns": [
3273 { "name": "layoutTreeNodes", "type": "array", "items": { "$r ef": "LayoutTreeNode" } },
3274 { "name": "computedStyles", "type": "array", "items": { "$re f": "ComputedStyle" } }
3275 ],
3276 "description": "For the main document and any content documents, return the LayoutTreeNodes and a whitelisted subset of the computed style. It o nly returns pushed nodes, on way to pull all nodes is to call DOM.getDocument wi th a depth of -1.",
3277 "experimental": true
3278 },
3279 {
3280 "name": "startRuleUsageTracking", 3246 "name": "startRuleUsageTracking",
3281 "description": "Enables the selector recording.", 3247 "description": "Enables the selector recording.",
3282 "experimental": true 3248 "experimental": true
3283 }, 3249 },
3284 { 3250 {
3285 "name": "takeCoverageDelta", 3251 "name": "takeCoverageDelta",
3286 "description": "Obtain list of rules that became used since last call to this method (or since start of coverage instrumentation)", 3252 "description": "Obtain list of rules that became used since last call to this method (or since start of coverage instrumentation)",
3287 "returns": [ 3253 "returns": [
3288 { "name": "coverage", "type": "array", "items": { "$ref": "R uleUsage" } } 3254 { "name": "coverage", "type": "array", "items": { "$ref": "R uleUsage" } }
3289 ], 3255 ],
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
3324 { 3290 {
3325 "name": "styleSheetRemoved", 3291 "name": "styleSheetRemoved",
3326 "parameters": [ 3292 "parameters": [
3327 { "name": "styleSheetId", "$ref": "StyleSheetId", "descripti on": "Identifier of the removed stylesheet." } 3293 { "name": "styleSheetId", "$ref": "StyleSheetId", "descripti on": "Identifier of the removed stylesheet." }
3328 ], 3294 ],
3329 "description": "Fired whenever an active document stylesheet is removed." 3295 "description": "Fired whenever an active document stylesheet is removed."
3330 } 3296 }
3331 ] 3297 ]
3332 }, 3298 },
3333 { 3299 {
3300 "domain": "DOMSnapshot",
3301 "experimental": true,
3302 "description": "This domain facilitates obtaining document snapshots wit h DOM, layout, and style information.",
3303 "dependencies": ["CSS", "DOM", "Page"],
3304 "types": [
3305 {
3306 "id": "DOMNode",
3307 "type": "object",
3308 "properties": [
3309 { "name": "nodeType", "type": "integer", "description": "<co de>Node</code>'s nodeType." },
3310 { "name": "nodeName", "type": "string", "description": "<cod e>Node</code>'s nodeName." },
3311 { "name": "nodeValue", "type": "string", "description": "<co de>Node</code>'s nodeValue." },
3312 { "name": "childNodeIndexes", "type": "array", "items": { "t ype": "integer" }, "optional": true, "description": "The indexes of the node's c hild nodes in the <code>domNodes</code> array returned by <code>getSnapshot</cod e>, if any." },
pfeldman 2017/06/06 22:54:29 It is tempting to use backendNodeId here - it is s
Eric Seckler 2017/06/07 10:23:37 Added as a field. We'd prefer to continue referenc
3313 { "name": "attributes", "type": "array", "items": { "$ref": "Attribute" }, "optional": true, "description": "Attributes of the <code>Element </code> node in the form of flat array <code>[name1, value1, name2, value2]</cod e>." },
3314 { "name": "documentURL", "type": "string", "optional": true, "description": "Document URL that <code>Document</code> or <code>FrameOwner</co de> node points to." },
pfeldman 2017/06/06 22:54:29 Everything rare that is not essential to any node
Eric Seckler 2017/06/07 10:23:37 Chatted to Alex about this, too. We'd like to keep
3315 { "name": "baseURL", "type": "string", "optional": true, "de scription": "Base URL that <code>Document</code> or <code>FrameOwner</code> node uses for URL completion." },
3316 { "name": "publicId", "type": "string", "optional": true, "d escription": "<code>DocumentType</code> node's publicId." },
3317 { "name": "systemId", "type": "string", "optional": true, "d escription": "<code>DocumentType</code> node's systemId." },
3318 { "name": "frameId", "$ref": "Page.FrameId", "optional": tru e, "description": "Frame ID for frame owner elements." },
3319 { "name": "contentDocumentIndex", "type": "integer", "option al": true, "description": "The index of a frame owner element's content document in the <code>domNodes</code> array returned by <code>getSnapshot</code>, if any ." },
3320 { "name": "pseudoType", "$ref": "DOM.PseudoType", "optional" : true, "description": "Type of a pseudo element node." },
3321 { "name": "pseudoElementIndexes", "type": "array", "items": { "type": "integer" }, "optional": true, "description": "Indexes of pseudo eleme nts associated with this node in the <code>domNodes</code> array returned by <co de>getSnapshot</code>, if any." },
3322 { "name": "importedDocumentIndex", "type": "integer", "optio nal": true, "description": "Index of the imported document's node of a link elem ent in the <code>domNodes</code> array returned by <code>getSnapshot</code>, if any." },
3323 { "name": "templateContentIndex", "type": "integer", "option al": true, "description": "Index of the content node of a template element in th e <code>domNodes</code> array returned by <code>getSnapshot</code>." },
3324 { "name": "isSVG", "type": "boolean", "optional": true, "des cription": "Whether the node is SVG." },
pfeldman 2017/06/06 22:54:29 Let's save at least on this one:)
Eric Seckler 2017/06/07 10:23:37 Got rid of it for now. If we need it later, we can
3325 { "name": "layoutNodeIndex", "type": "integer", "optional": true, "description": "The index of the node's related layout tree node in the <c ode>layoutTreeNodes</code> array returned by <code>getSnapshot</code>, if any." }
3326 ],
3327 "description": "A Node in the DOM tree."
3328 },
3329 {
3330 "id": "LayoutTreeNode",
3331 "type": "object",
3332 "properties": [
3333 { "name": "domNodeIndex", "type": "integer", "description": "The index of the related DOM node in the <code>domNodes</code> array returned b y <code>getSnapshot</code>." },
3334 { "name": "boundingBox", "$ref": "DOM.Rect", "description": "The absolute position bounding box." },
3335 { "name": "layoutText", "type": "string", "optional": true, "description": "Contents of the LayoutText, if any." },
3336 { "name": "inlineTextNodes", "type": "array", "optional": tr ue, "items": { "$ref": "CSS.InlineTextBox" }, "description": "The post-layout in line text nodes, if any." },
3337 { "name": "styleIndex", "type": "integer", "optional": true, "description": "Index into the <code>computedStyles</code> array returned by <c ode>getSnapshot</code>." }
3338 ],
3339 "description": "Details of an element in the DOM tree with a Lay outObject."
3340 },
3341 {
3342 "id": "ComputedStyle",
3343 "type": "object",
3344 "properties": [
3345 { "name": "properties", "type": "array", "items": { "$ref": "CSS.CSSComputedStyleProperty" } }
pfeldman 2017/06/06 22:54:29 Rename and reuse your "Attribute" to make your dom
Eric Seckler 2017/06/07 10:23:37 Done.
3346 ],
3347 "description": "A subset of the full ComputedStyle as defined by the request whitelist."
3348 },
3349 {
3350 "id": "Attribute",
3351 "type": "object",
3352 "properties": [
3353 { "name": "name", "type": "string", "description": "Node att ribute name." },
3354 { "name": "value", "type": "string", "description": "Node at tribute value." }
3355 ],
3356 "description": "A node attribute."
3357 }
3358 ],
3359 "commands": [
3360 {
3361 "name": "getSnapshot",
3362 "parameters": [
3363 { "name": "computedStyleWhitelist", "type": "array", "items" : { "type": "string" }, "description": "Whitelist of computed styles to return." },
3364 { "name": "depth", "type": "integer", "optional": true, "des cription": "The maximum depth at which children should be retrieved, defaults to 1. Use -1 for the entire subtree or provide an integer larger than 0." },
pfeldman 2017/06/06 22:54:29 Drop depth and pierce, always imply -1, true?
Eric Seckler 2017/06/07 10:23:37 Done.
3365 { "name": "pierce", "type": "boolean", "optional": true, "de scription": "Whether or not iframes, template contents, and imported documents s hould be traversed when returning the subtree (default is false)." }
3366 ],
3367 "returns": [
3368 { "name": "domNodes", "type": "array", "items": { "$ref": "D OMNode" }, "description": "The nodes in the DOM tree. The DOMNode at index 0 cor responds to the root document." },
3369 { "name": "layoutTreeNodes", "type": "array", "items": { "$r ef": "LayoutTreeNode" }, "description": "The nodes in the layout tree." },
3370 { "name": "computedStyles", "type": "array", "items": { "$re f": "ComputedStyle" }, "description": "Whitelisted ComputedStyle properties for each node in the layout tree." }
3371 ],
3372 "description": "Returns a document snapshot, including the DOM t ree of the root node up to the given depth in a flattened array, as well as layo ut and white-listed computed style information for the nodes. Shadow DOM in the returned DOM tree is flattened."
3373 }
3374 ]
3375 },
3376 {
3334 "domain": "IO", 3377 "domain": "IO",
3335 "description": "Input/Output operations for streams produced by DevTools .", 3378 "description": "Input/Output operations for streams produced by DevTools .",
3336 "experimental": true, 3379 "experimental": true,
3337 "types": [ 3380 "types": [
3338 { 3381 {
3339 "id": "StreamHandle", 3382 "id": "StreamHandle",
3340 "type": "string" 3383 "type": "string"
3341 } 3384 }
3342 ], 3385 ],
3343 "commands": [ 3386 "commands": [
(...skipping 1390 matching lines...) Expand 10 before | Expand all | Expand 10 after
4734 "parameters": [ 4777 "parameters": [
4735 { "name": "windowId", "$ref": "WindowID", "description": "Br owser window id." } 4778 { "name": "windowId", "$ref": "WindowID", "description": "Br owser window id." }
4736 ], 4779 ],
4737 "returns": [ 4780 "returns": [
4738 { "name": "bounds", "$ref": "Bounds", "description": "Bounds information of the window. When window state is 'minimized', the restored windo w position and size are returned." } 4781 { "name": "bounds", "$ref": "Bounds", "description": "Bounds information of the window. When window state is 'minimized', the restored windo w position and size are returned." }
4739 ] 4782 ]
4740 } 4783 }
4741 ] 4784 ]
4742 }] 4785 }]
4743 } 4786 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698