1 [ 2 { 3 "namespace": "experimental.webInspector.panels", 4 "types": [ 5 { 6 "id": "PanelWithSidebars", 7 "type": "object", 8 "isInstanceOf": "Panel", 9 "description": "A panel within Web Inspector UI that has sidebars.", 10 "functions": [ 11 { 12 "name": "createSidebarPane", 13 "type": "function", 14 "description": "Creates a pane within panel's sidebar.", 15 "parameters": [ 16 { 17 "name": "title", 18 "type": "string", 19 "description": "A text that is displayed in sidebar caption." 20 }, 21 { 22 "name": "callback", 23 "type": "function", 24 "description": "A callback invoked when sidebar is created", 25 "parameters": [ 26 { 27 "name": "result", 28 "description": "An ExtensionSidebarPane object for created sidebar pane", 29 "$ref": "ExtensionSidebarPane" 30 } 31 ] 32 } 33 ] 34 } 35 ] 36 }, 37 { 38 "id": "ElementsPanel", 39 "type": "object", 40 "isInstanceOf": "PanelWithSidebars", 41 "description": "Represents Elements panel", 42 "events": [ 43 { 44 "name": "onSelectionChanged", 45 "description": "Fired when an objects is selected in the panel." 46 } 47 ] 48 }, 49 { 50 "id": "ExtensionPanel", 51 "type": "object", 52 "isInstanceOf": "Panel", 53 "description": "Represents a panel created by extension", 54 "events": [ 55 { 56 "name": "onSearch", 57 "description": "Fired upon a search action (start of a new search, search result navigation or search being canceled).", 58 "parameters": [ 59 { 60 "name": "action", 61 "type": "string", 62 "description": "Type of search action being performed." 63 }, 64 { 65 "name": "queryString", 66 "type": "string", 67 "optional": true, 68 "description": "Query string (only for 'performSearch')" 69 } 70 ] 71 } 72 ] 73 }, 74 { 75 "id": "ExtensionSidebarPane", 76 "type": "object", 77 "description": "A sidebar created by the extension.", 78 "functions": [ 79 { 80 "name": "setHeight", 81 "type": "function", 82 "description": "Sets the height of the sidebar.", 83 "parameters": [ 84 { 85 "name": "height", 86 "type": "string", 87 "description": "A CSS-like size specification, e.g. '10px' or '12pt'" 88 } 89 ] 90 }, 91 { 92 "name": "setExpression", 93 "type": "function", 94 "description": "Sets an expression that is evaluated within the inspected page. The result is displayed in the sidebar pane.", 95 "parameters": [ 96 { 97 "name": "expression", 98 "type": "string", 99 "description": "An expression to be evaluated in context of the inspected page. JavaScript objects and DOM nodes are displayed in an expandable tree similar to the console/watch." 100 }, 101 { 102 "name": "rootTitle", 103 "type": "string", 104 "optional": true, 105 "description": "An optional title for the root of the expression tree." 106 } 107 ] 108 }, 109 { 110 "name": "setObject", 111 "type": "function", 112 "description": "Sets a JSON-compliant object to be displayed in the sidebar pane.", 113 "parameters": [ 114 { 115 "name": "jsonObject", 116 "type": "string", 117 "description": "An object to be displayed in context of the inspected page. Evaluated in the context of the caller (API client)." 118 }, 119 { 120 "name": "rootTitle", 121 "type": "string", 122 "optional": true, 123 "description": "An optional title for the root of the expression tree." 124 } 125 ] 126 }, 127 { 128 "name": "setPage", 129 "type": "function", 130 "description": "Sets an HTML page to be displayed in the sidebar pane.", 131 "parameters": [ 132 { 133 "name": "url", 134 "type": "string", 135 "description": "An URL of an extension page to display within the sidebar." 136 } 137 ] 138 } 139 ] 140 } 141 ], 142 "properties": { 143 "scripts": { 144 "$ref": "ScriptsPanel", 145 "description": "Scripts panel" 146 } 147 }, 148 "functions": [ 149 { 150 "name": "create", 151 "type": "function", 152 "description": "Creates an extension panel.", 153 "parameters": [ 154 { 155 "name": "title", 156 "type": "string", 157 "description": "Title that is displayed under the extension icon in the toolbar." 158 }, 159 { 160 "name": "iconURL", 161 "type": "string", 162 "description": "An URL of the toolbar icon." 163 }, 164 { 165 "name": "pageURL", 166 "type": "string", 167 "description": "An URL of the page that represents this panel." 168 }, 169 { 170 "name": "callback", 171 "type": "function", 172 "description": "A function that is called upon request completion.", 173 "parameters": [ 174 { 175 "name": "panel", 176 "description": "An ExtensionPanel object representing the created panel.", 177 "$ref": "ExtensionPanel" 178 } 179 ] 180 } 181 ] 182 } 183 ] 184 }, 185 { 186 "namespace": "experimental.webInspector.resources", 187 "types": [ 188 { 189 "id": "Resource", 190 "type": "object", 191 "description": "Represents a resource (document, script, image etc). See HAR Specification for reference.", 192 "functions": [ 193 { 194 "name": "getContent", 195 "type": "function", 196 "description": "Returns resource content.", 197 "parameters": [ 198 { 199 "name": "callback", 200 "type": "function", 201 "description": "A function that is called upon request completion.", 202 "parameters": [ 203 { 204 "name": "content", 205 "type": "string", 206 "description": "Resource content (potentially encoded)." 207 }, 208 { 209 "name": "encoding", 210 "type": "string", 211 "description": "Empty if content is not encoded, encoding name otherwise. Currently, only base64 supported." 212 } 213 ] 214 } 215 ] 216 } 217 ] 218 } 219 ], 220 "functions": [ 221 { 222 "name": "getHAR", 223 "type": "function", 224 "description": "Returns HAR archive that contains all known resource objects.", 225 "parameters": [ 226 { 227 "name": "callback", 228 "type": "function", 229 "description": "A function that is called upon request completion.", 230 "parameters": [ 231 { 232 "name": "har", 233 "type": "object", 234 "description": "A HAR archieve. See HAR specification for details." 235 } 236 ] 237 } 238 ] 239 } 240 ], 241 "events": [ 242 { 243 "name": "onFinished", 244 "type": "function", 245 "description": "Fired when a resource request is finished and all resource data are available.", 246 "parameters": [ 247 { "name": "resource", "$ref": "Resource" } 248 ] 249 }, 250 { 251 "name": "onNavigation", 252 "type": "function", 253 "description": "Fired when an inspected window navigates to a new URL.", 254 "parameters": [ 255 { 256 "name": "url", 257 "type": "stirng", 258 "description": "URL of the new page." 259 } 260 ] 261 } 262 ] 263 }, 264 { 265 "namespace": "experimental.webInspector.audits", 266 "functions": [ 267 { 268 "name": "addCategory", 269 "type": "function", 270 "description": "Adds an audit category.", 271 "parameters": [ 272 { "name": "displayName", "type": "string", "description": "A display name for the category" }, 273 { "name": "resultCount", "type": "number", "description": "The expected number of audit results in the category." } 274 ], 275 "returns": { 276 "$ref": "AuditCategory" 277 } 278 } 279 ], 280 "types": [ 281 { 282 "id": "AuditCategory", 283 "type": "object", 284 "description": "A set of audit rules", 285 "events": [ 286 { 287 "name": "onAuditStarted", 288 "type": "function", 289 "description": "Fired when the audit is started, if the category is enabled -- the extension is expected to begin executing audit rules.", 290 "parameters": [ 291 { "name": "results", "$ref": "AuditResults" } 292 ] 293 } 294 ] 295 }, 296 { 297 "id": "FormattedValue", 298 "type": "object", 299 "description": "A value returned from one of the formatters (an URL, code snippet etc), to be passed to createResult or addChild" 300 }, 301 { 302 "id": "AuditResults", 303 "type": "object", 304 "description": "A collection of audit results for current run of the audit category", 305 "functions": [ 306 { 307 "name": "addResult", 308 "type": "function", 309 "parameters": [ 310 { 311 "name": "displayName", 312 "type": "string", 313 "description": "A concise, high-level description of audit rule result" 314 }, 315 { 316 "name": "description", 317 "type": "string", 318 "description": "A detailed description of what the displayName means" 319 }, 320 { 321 "name": "severity", 322 "$ref": "AuditResultSeverety" 323 }, 324 { 325 "name": "details", 326 "$ref": "AuditResultNode", 327 "optional": true, 328 "description": "A subtree that appears under added result that may provide additional details on the violations found" 329 } 330 ] 331 }, 332 { 333 "name": "createResult", 334 "type": "function", 335 "description": "Creates a result node that may be user as details parameters to addResult", 336 "parameters": [ 337 { 338 "name": "content ...", 339 "choices": [ 340 { "type": "string" }, 341 { "$ref": "FormattedValue" } 342 ], 343 "description": "Either string or formatted values returned by one of AuditResult formatters (url, snippet etc)" 344 } 345 ], 346 "returns": { 347 "$ref": "AuditResultNode" 348 } 349 }, 350 { 351 "name": "done", 352 "type": "function", 353 "description": "Signals the WebInspector Audits panel that the run of this category is over. Normally the run completes automatically when a number of added top-level results is equal to that declared when AuditCategory was created." 354 }, 355 { 356 "name": "url", 357 "type": "function", 358 "description": "Render passed value as an URL in the Audits panel", 359 "parameters": [ 360 { "name": "href", "type": "string", "description": "An URL that will appear as href value on resulting link" }, 361 { "name": "displayText", "type": "string", "description": "A text that will appear to user", "optional": true } 362 ], 363 "returns": { "$ref": "FormattedValue" } 364 }, 365 { 366 "name": "snippet", 367 "type": "function", 368 "description": "Render passed text as a code snippet in the Audits panel", 369 "parameters": [ 370 { "name": "text", "type": "string", "description": "Snippet text" } 371 ], 372 "returns": { "$ref": "FormattedValue" } 373 } 374 ], 375 "properties": { 376 "Severity": { 377 "$ref": "AuditResultSeverity", 378 "description": "A class that contains possible values for audit result severities." 379 }, 380 "text": { 381 "type": "string", 382 "description": "The contents of the node." 383 }, 384 "children": { 385 "optional": true, 386 "type": "array", 387 "items": { "$ref": "AuditResultNode" }, 388 "description": "Children of this node." 389 }, 390 "expanded": { 391 "optional": "true", 392 "type": "boolean", 393 "description": "Whether the node is expanded by default." 394 } 395 } 396 }, 397 { 398 "id": "AuditResultNode", 399 "type": "object", 400 "description": "A node in the audit result trees. Displays some content and optionally has children node", 401 "functions": [ 402 { 403 "name": "addChild", 404 "description": "Adds another child node to this node", 405 "parameters": [ 406 { 407 "name": "content ...", 408 "choices": [ 409 { "type": "string" }, 410 { "$ref": "FormattedValue" } 411 ], 412 "description": "Either string or formatted values returned by one of AuditResult formatters (url, snippet etc)" 413 } 414 ], 415 "returns": { 416 "$ref": "AuditResultNode" 417 } 418 } 419 ], 420 "properties": { 421 "expanded": { 422 "type": "boolean", 423 "description": "If set, the subtree will always be expanded" 424 } 425 } 426 }, 427 { 428 "id": "AuditResultSeverity", 429 "type": "object", 430 "properties": { 431 "Info": { 432 "type": "string" 433 }, 434 "Warning": { 435 "type": "string" 436 }, 437 "Severe": { 438 "type": "string" 439 } 440 } 441 } 442 ] 443 } 444 ] 445 446