| OLD | NEW |
| (Empty) | |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 [ |
| 6 { |
| 7 "namespace": "bookmarks", |
| 8 "uses_feature_system": true, |
| 9 "channel": "stable", |
| 10 "dependencies": ["permission:bookmarks"], |
| 11 "contexts": ["blessed_extension"], |
| 12 "properties": { |
| 13 "MAX_WRITE_OPERATIONS_PER_HOUR": { |
| 14 "value": 100, |
| 15 "description": "The maximum number of <code>move</code>, <code>update</c
ode>, <code>create</code>, or <code>remove</code> operations that can be perform
ed each hour. Updates that would cause this limit to be exceeded fail." |
| 16 }, |
| 17 "MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE": { |
| 18 "value": 2, |
| 19 "description": "The maximum number of <code>move</code>, <code>update</c
ode>, <code>create</code>, or <code>remove</code> operations that can be perform
ed each minute, sustained over 10 minutes. Updates that would cause this limit t
o be exceeded fail." |
| 20 } |
| 21 }, |
| 22 "types": [ |
| 23 { |
| 24 "id": "BookmarkTreeNode", |
| 25 "type": "object", |
| 26 "description": "A node (either a bookmark or a folder) in the bookmark t
ree. Child nodes are ordered within their parent folder.", |
| 27 "properties": { |
| 28 "id": { |
| 29 "type": "string", |
| 30 "minimum": 0, |
| 31 "description": "The unique identifier for the node. IDs are unique w
ithin the current profile, and they remain valid even after the browser is resta
rted." |
| 32 }, |
| 33 "parentId": { |
| 34 "type": "string", |
| 35 "minimum": 0, |
| 36 "optional": true, |
| 37 "description": "The <code>id</code> of the parent folder. Omitted f
or the root node." |
| 38 }, |
| 39 "index": { |
| 40 "type": "integer", |
| 41 "optional": true, |
| 42 "description": "The 0-based position of this node within its parent
folder." |
| 43 }, |
| 44 "url": { |
| 45 "type": "string", |
| 46 "optional": true, |
| 47 "description": "The URL navigated to when a user clicks the bookmark
. Omitted for folders." |
| 48 }, |
| 49 "title": { |
| 50 "type": "string", |
| 51 "description": "The text displayed for the node." |
| 52 }, |
| 53 "dateAdded": { |
| 54 "type": "number", |
| 55 "optional": true, |
| 56 "description": "When this node was created, in milliseconds since th
e epoch (<code>new Date(dateAdded)</code>)." |
| 57 }, |
| 58 "dateGroupModified": { |
| 59 "type": "number", |
| 60 "optional": true, |
| 61 "description": "When the contents of this folder last changed, in mi
lliseconds since the epoch." |
| 62 }, |
| 63 "children": { |
| 64 "type": "array", |
| 65 "optional": true, |
| 66 "items": { "$ref": "BookmarkTreeNode" }, |
| 67 "description": "An ordered list of children of this node." |
| 68 } |
| 69 } |
| 70 } |
| 71 ], |
| 72 "functions": [ |
| 73 { |
| 74 "name": "get", |
| 75 "type": "function", |
| 76 "description": "Retrieves the specified BookmarkTreeNode(s).", |
| 77 "parameters": [ |
| 78 { |
| 79 "name": "idOrIdList", |
| 80 "description": "A single string-valued id, or an array of string-val
ued ids", |
| 81 "choices": [ |
| 82 { |
| 83 "type": "string", |
| 84 "serialized_type": "int64" |
| 85 }, |
| 86 { |
| 87 "type": "array", |
| 88 "items": { |
| 89 "type": "string", |
| 90 "serialized_type": "int64" |
| 91 }, |
| 92 "minItems": 1 |
| 93 } |
| 94 ] |
| 95 }, |
| 96 { |
| 97 "type": "function", |
| 98 "name": "callback", |
| 99 "parameters": [ |
| 100 { |
| 101 "name": "results", |
| 102 "type": "array", |
| 103 "items": { "$ref": "BookmarkTreeNode" } |
| 104 } |
| 105 ] |
| 106 } |
| 107 ] |
| 108 }, |
| 109 { |
| 110 "name": "getChildren", |
| 111 "type": "function", |
| 112 "description": "Retrieves the children of the specified BookmarkTreeNode
id.", |
| 113 "parameters": [ |
| 114 { |
| 115 "type": "string", |
| 116 "serialized_type": "int64", |
| 117 "name": "id" |
| 118 }, |
| 119 { |
| 120 "type": "function", |
| 121 "name": "callback", |
| 122 "parameters": [ |
| 123 { |
| 124 "name": "results", |
| 125 "type": "array", |
| 126 "items": { "$ref": "BookmarkTreeNode"} |
| 127 } |
| 128 ] |
| 129 } |
| 130 ] |
| 131 }, |
| 132 { |
| 133 "name": "getRecent", |
| 134 "type": "function", |
| 135 "description": "Retrieves the recently added bookmarks.", |
| 136 "parameters": [ |
| 137 { |
| 138 "type": "integer", |
| 139 "minimum": 1, |
| 140 "name": "numberOfItems", |
| 141 "description": "The maximum number of items to return." |
| 142 }, |
| 143 { |
| 144 "type": "function", |
| 145 "name": "callback", |
| 146 "parameters": [ |
| 147 { |
| 148 "name": "results", |
| 149 "type": "array", |
| 150 "items": { "$ref": "BookmarkTreeNode" } |
| 151 } |
| 152 ] |
| 153 } |
| 154 ] |
| 155 }, |
| 156 { |
| 157 "name": "getTree", |
| 158 "type": "function", |
| 159 "description": "Retrieves the entire Bookmarks hierarchy.", |
| 160 "parameters": [ |
| 161 { |
| 162 "type": "function", |
| 163 "name": "callback", |
| 164 "parameters": [ |
| 165 { |
| 166 "name": "results", |
| 167 "type": "array", |
| 168 "items": { "$ref": "BookmarkTreeNode" } |
| 169 } |
| 170 ] |
| 171 } |
| 172 ] |
| 173 }, |
| 174 { |
| 175 "name": "getSubTree", |
| 176 "type": "function", |
| 177 "description": "Retrieves part of the Bookmarks hierarchy, starting at t
he specified node.", |
| 178 "parameters": [ |
| 179 { |
| 180 "type": "string", |
| 181 "serialized_type": "int64", |
| 182 "name": "id", |
| 183 "description": "The ID of the root of the subtree to retrieve." |
| 184 }, |
| 185 { |
| 186 "type": "function", |
| 187 "name": "callback", |
| 188 "parameters": [ |
| 189 { |
| 190 "name": "results", |
| 191 "type": "array", |
| 192 "items": { "$ref": "BookmarkTreeNode" } |
| 193 } |
| 194 ] |
| 195 } |
| 196 ] |
| 197 }, |
| 198 { |
| 199 "name": "search", |
| 200 "type": "function", |
| 201 "description": "Searches for BookmarkTreeNodes matching the given query.
", |
| 202 "parameters": [ |
| 203 { |
| 204 "type": "string", |
| 205 "name": "query" |
| 206 }, |
| 207 { |
| 208 "type": "function", |
| 209 "name": "callback", |
| 210 "parameters": [ |
| 211 { |
| 212 "name": "results", |
| 213 "type": "array", |
| 214 "items": { "$ref": "BookmarkTreeNode" } |
| 215 } |
| 216 ] |
| 217 } |
| 218 ] |
| 219 }, |
| 220 { |
| 221 "name": "create", |
| 222 "type": "function", |
| 223 "description": "Creates a bookmark or folder under the specified parentI
d. If url is NULL or missing, it will be a folder.", |
| 224 "parameters": [ |
| 225 { |
| 226 "type": "object", |
| 227 "name": "bookmark", |
| 228 "properties": { |
| 229 "parentId": { |
| 230 "type": "string", |
| 231 "serialized_type": "int64", |
| 232 "optional": true, |
| 233 "description": "Defaults to the Other Bookmarks folder." |
| 234 }, |
| 235 "index": { |
| 236 "type": "integer", |
| 237 "minimum": 0, |
| 238 "optional": true |
| 239 }, |
| 240 "title": { |
| 241 "type": "string", |
| 242 "optional": true |
| 243 }, |
| 244 "url": { |
| 245 "type": "string", |
| 246 "optional": true |
| 247 } |
| 248 } |
| 249 }, |
| 250 { |
| 251 "type": "function", |
| 252 "name": "callback", |
| 253 "optional": true, |
| 254 "parameters": [ |
| 255 { |
| 256 "name": "result", |
| 257 "$ref": "BookmarkTreeNode" |
| 258 } |
| 259 ] |
| 260 } |
| 261 ] |
| 262 }, |
| 263 { |
| 264 "name": "move", |
| 265 "type": "function", |
| 266 "description": "Moves the specified BookmarkTreeNode to the provided loc
ation.", |
| 267 "parameters": [ |
| 268 { |
| 269 "type": "string", |
| 270 "serialized_type": "int64", |
| 271 "name": "id" |
| 272 }, |
| 273 { |
| 274 "type": "object", |
| 275 "name": "destination", |
| 276 "properties": { |
| 277 "parentId": { |
| 278 "type": "string", |
| 279 "optional": true |
| 280 }, |
| 281 "index": { |
| 282 "type": "integer", |
| 283 "minimum": 0, |
| 284 "optional": true |
| 285 } |
| 286 } |
| 287 }, |
| 288 { |
| 289 "type": "function", |
| 290 "name": "callback", |
| 291 "optional": true, |
| 292 "parameters": [ |
| 293 { |
| 294 "name": "result", |
| 295 "$ref": "BookmarkTreeNode" |
| 296 } |
| 297 ] |
| 298 } |
| 299 ] |
| 300 }, |
| 301 { |
| 302 "name": "update", |
| 303 "type": "function", |
| 304 "description": "Updates the properties of a bookmark or folder. Specify
only the properties that you want to change; unspecified properties will be left
unchanged. <b>Note:</b> Currently, only 'title' and 'url' are supported.", |
| 305 "parameters": [ |
| 306 { |
| 307 "type": "string", |
| 308 "serialized_type": "int64", |
| 309 "name": "id" |
| 310 }, |
| 311 { |
| 312 "type": "object", |
| 313 "name": "changes", |
| 314 "properties": { |
| 315 "title": { |
| 316 "type": "string", |
| 317 "optional": true |
| 318 }, |
| 319 "url": { |
| 320 "type": "string", |
| 321 "optional": true |
| 322 } |
| 323 } |
| 324 }, |
| 325 { |
| 326 "type": "function", |
| 327 "name": "callback", |
| 328 "optional": true, |
| 329 "parameters": [ |
| 330 { |
| 331 "name": "result", |
| 332 "$ref": "BookmarkTreeNode" |
| 333 } |
| 334 ] |
| 335 } |
| 336 ] |
| 337 }, |
| 338 { |
| 339 "name": "remove", |
| 340 "type": "function", |
| 341 "description": "Removes a bookmark or an empty bookmark folder.", |
| 342 "parameters": [ |
| 343 { |
| 344 "type": "string", |
| 345 "serialized_type": "int64", |
| 346 "name": "id" |
| 347 }, |
| 348 { |
| 349 "type": "function", |
| 350 "name": "callback", |
| 351 "optional": true, |
| 352 "parameters": [] |
| 353 } |
| 354 ] |
| 355 }, |
| 356 { |
| 357 "name": "removeTree", |
| 358 "type": "function", |
| 359 "description": "Recursively removes a bookmark folder.", |
| 360 "parameters": [ |
| 361 { |
| 362 "type": "string", |
| 363 "serialized_type": "int64", |
| 364 "name": "id" |
| 365 }, |
| 366 { |
| 367 "type": "function", |
| 368 "name": "callback", |
| 369 "optional": true, |
| 370 "parameters": [] |
| 371 } |
| 372 ] |
| 373 }, |
| 374 { |
| 375 "name": "import", |
| 376 "type": "function", |
| 377 "description": "Imports bookmarks from a chrome html bookmark file", |
| 378 "nodoc": "true", |
| 379 "parameters": [ |
| 380 { |
| 381 "type": "function", |
| 382 "name": "callback", |
| 383 "optional": true, |
| 384 "parameters": [] |
| 385 } |
| 386 ] |
| 387 }, |
| 388 { |
| 389 "name": "export", |
| 390 "type": "function", |
| 391 "description": "Exports bookmarks to a chrome html bookmark file", |
| 392 "nodoc": "true", |
| 393 "parameters": [ |
| 394 { |
| 395 "type": "function", |
| 396 "name": "callback", |
| 397 "optional": true, |
| 398 "parameters": [] |
| 399 } |
| 400 ] |
| 401 } |
| 402 ], |
| 403 "events": [ |
| 404 { |
| 405 "name": "onCreated", |
| 406 "type": "function", |
| 407 "description": "Fired when a bookmark or folder is created.", |
| 408 "parameters": [ |
| 409 { |
| 410 "type": "string", |
| 411 "name": "id" |
| 412 }, |
| 413 { |
| 414 "$ref": "BookmarkTreeNode", |
| 415 "name": "bookmark" |
| 416 } |
| 417 ] |
| 418 }, |
| 419 { |
| 420 "name": "onRemoved", |
| 421 "type": "function", |
| 422 "description": "Fired when a bookmark or folder is removed. When a fold
er is removed recursively, a single notification is fired for the folder, and no
ne for its contents.", |
| 423 "parameters": [ |
| 424 { |
| 425 "type": "string", |
| 426 "name": "id" |
| 427 }, |
| 428 { |
| 429 "type": "object", |
| 430 "name": "removeInfo", |
| 431 "properties": { |
| 432 "parentId": { "type": "string" }, |
| 433 "index": { "type": "integer" } |
| 434 } |
| 435 } |
| 436 ] |
| 437 }, |
| 438 { |
| 439 "name": "onChanged", |
| 440 "type": "function", |
| 441 "description": "Fired when a bookmark or folder changes. <b>Note:</b> C
urrently, only title and url changes trigger this.", |
| 442 "parameters": [ |
| 443 { |
| 444 "type": "string", |
| 445 "name": "id" |
| 446 }, |
| 447 { |
| 448 "type": "object", |
| 449 "name": "changeInfo", |
| 450 "properties": { |
| 451 "title": { "type": "string" }, |
| 452 "url": { |
| 453 "type": "string", |
| 454 "optional": true |
| 455 } |
| 456 } |
| 457 } |
| 458 ] |
| 459 }, |
| 460 { |
| 461 "name": "onMoved", |
| 462 "type": "function", |
| 463 "description": "Fired when a bookmark or folder is moved to a different
parent folder.", |
| 464 "parameters": [ |
| 465 { |
| 466 "type": "string", |
| 467 "name": "id" |
| 468 }, |
| 469 { |
| 470 "type": "object", |
| 471 "name": "moveInfo", |
| 472 "properties": { |
| 473 "parentId": { "type": "string" }, |
| 474 "index": { "type": "integer" }, |
| 475 "oldParentId": { "type": "string" }, |
| 476 "oldIndex": { "type": "integer" } |
| 477 } |
| 478 } |
| 479 ] |
| 480 }, |
| 481 { |
| 482 "name": "onChildrenReordered", |
| 483 "type": "function", |
| 484 "description": "Fired when the children of a folder have changed their o
rder due to the order being sorted in the UI. This is not called as a result of
a move().", |
| 485 "parameters": [ |
| 486 { |
| 487 "type": "string", |
| 488 "name": "id" |
| 489 }, |
| 490 { |
| 491 "type": "object", |
| 492 "name": "reorderInfo", |
| 493 "properties": { |
| 494 "childIds": { |
| 495 "type": "array", |
| 496 "items": { "type": "string" } |
| 497 } |
| 498 } |
| 499 } |
| 500 ] |
| 501 }, |
| 502 { |
| 503 "name": "onImportBegan", |
| 504 "type": "function", |
| 505 "description": "Fired when a bookmark import session is begun. Expensiv
e observers should ignore handleCreated updates until onImportEnded is fired. O
bservers should still handle other notifications immediately.", |
| 506 "parameters": [] |
| 507 }, |
| 508 { |
| 509 "name": "onImportEnded", |
| 510 "type": "function", |
| 511 "description": "Fired when a bookmark import session is ended.", |
| 512 "parameters": [] |
| 513 } |
| 514 ] |
| 515 } |
| 516 ] |
| OLD | NEW |