| OLD | NEW |
| 1 // SSSSSSSSSSSSSSS TTTTTTTTTTTTTTTTTTTTTTT OOOOOOOOO PPPPPPPPPPPPPPPP
P | 1 // SSSSSSSSSSSSSSS TTTTTTTTTTTTTTTTTTTTTTT OOOOOOOOO PPPPPPPPPPPPPPPP
P |
| 2 // SS:::::::::::::::ST:::::::::::::::::::::T OO:::::::::OO P:::::::::::::::
:P | 2 // SS:::::::::::::::ST:::::::::::::::::::::T OO:::::::::OO P:::::::::::::::
:P |
| 3 // S:::::SSSSSS::::::ST:::::::::::::::::::::T OO:::::::::::::OO P::::::PPPPPP:::
::P | 3 // S:::::SSSSSS::::::ST:::::::::::::::::::::T OO:::::::::::::OO P::::::PPPPPP:::
::P |
| 4 // S:::::S SSSSSSST:::::TT:::::::TT:::::TO:::::::OOO:::::::OPP:::::P P::
:::P | 4 // S:::::S SSSSSSST:::::TT:::::::TT:::::TO:::::::OOO:::::::OPP:::::P P::
:::P |
| 5 // S:::::S TTTTTT T:::::T TTTTTTO::::::O O::::::O P::::P P::
:::P | 5 // S:::::S TTTTTT T:::::T TTTTTTO::::::O O::::::O P::::P P::
:::P |
| 6 // S:::::S T:::::T O:::::O O:::::O P::::P P::
:::P | 6 // S:::::S T:::::T O:::::O O:::::O P::::P P::
:::P |
| 7 // S::::SSSS P::::PPPPPP:::
::P | 7 // S::::SSSS P::::PPPPPP:::
::P |
| 8 // SS::::::SSSSS This file is generated. To update it, P:::::::::::::
PP | 8 // SS::::::SSSSS This file is generated. To update it, P:::::::::::::
PP |
| 9 // SSS::::::::SS run roll_closure_compiler. P::::PPPPPPPPP | 9 // SSS::::::::SS run roll_closure_compiler. P::::PPPPPPPPP |
| 10 // SSSSSS::::S P::::P | 10 // SSSSSS::::S P::::P |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 42 * B. Optional parameters | 42 * B. Optional parameters |
| 43 * C. Pseudo-types | 43 * C. Pseudo-types |
| 44 * D. Events | 44 * D. Events |
| 45 * E. Nullability | 45 * E. Nullability |
| 46 * F. Private APIs | 46 * F. Private APIs |
| 47 * G. Enums | 47 * G. Enums |
| 48 * | 48 * |
| 49 * The best practices for each are described in more detail below. It | 49 * The best practices for each are described in more detail below. It |
| 50 * should be noted that, due to historical reasons, and the evolutionary | 50 * should be noted that, due to historical reasons, and the evolutionary |
| 51 * nature of this file, much this file currently violates the best practices | 51 * nature of this file, much this file currently violates the best practices |
| 52 * described below. As changed are made, the changes should adhere to the | 52 * described below. As changes are made, the changes should adhere to the |
| 53 * best practices. | 53 * best practices. |
| 54 * | 54 * |
| 55 * A. When to Add Packages to this File? | 55 * A. When to Add Packages to this File? |
| 56 * Packages in chrome.experimental.* should *not* be added to this file. The | 56 * Packages in chrome.experimental.* should *not* be added to this file. The |
| 57 * experimental APIs change very quickly, so rather than add them here, make a | 57 * experimental APIs change very quickly, so rather than add them here, make a |
| 58 * separate externs file for your project, then move the API here when it moves | 58 * separate externs file for your project, then move the API here when it moves |
| 59 * out of experimental. | 59 * out of experimental. |
| 60 * | 60 * |
| 61 * Some non-experimental APIs are still evolving or are not full documented. It | 61 * Some non-experimental APIs are still evolving or are not full documented. It |
| 62 * is still advantageous to include these in this file as doing so avoids a | 62 * is still advantageous to include these in this file as doing so avoids a |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 119 * creates a nullable record-type typedef so ! has the same meaning in usages | 119 * creates a nullable record-type typedef so ! has the same meaning in usages |
| 120 * as it does for real types. | 120 * as it does for real types. |
| 121 * | 121 * |
| 122 * For #2, use a standard constructor, even though no constructor is provided | 122 * For #2, use a standard constructor, even though no constructor is provided |
| 123 * and extension writers will never instantiate an instance, as using a first | 123 * and extension writers will never instantiate an instance, as using a first |
| 124 * class type provides the strongest type checking. For example, see the Port | 124 * class type provides the strongest type checking. For example, see the Port |
| 125 * type defined at http://developer.chrome.com/apps/runtime.html#type-Port. | 125 * type defined at http://developer.chrome.com/apps/runtime.html#type-Port. |
| 126 * Always qualify the type name to reduce top-level pollution in this file: | 126 * Always qualify the type name to reduce top-level pollution in this file: |
| 127 * | 127 * |
| 128 * Do: | 128 * Do: |
| 129 * chrome.extension.Port = function() {} | 129 * chrome.runtime.Port = function() {} |
| 130 * Don't: | 130 * Don't: |
| 131 * function Port() {} | 131 * function Port() {} |
| 132 * | 132 * |
| 133 * Note that, unfortunately, the actual Port class definition in this file | 133 * Note that, unfortunately, the actual Port class definition in this file |
| 134 * does not follow this recommendation. | 134 * does not follow this recommendation. |
| 135 * | 135 * |
| 136 * For #3, use {!Object}, that is, a bag of properites. This is a sad reality | 136 * For #3, use {!Object}, that is, a bag of properites. This is a sad reality |
| 137 * given that the Chrome extensions do not document a real type. It is tempting | 137 * given that the Chrome extensions do not document a real type. It is tempting |
| 138 * to define a real-type within this file and treat this situation as identical | 138 * to define a real-type within this file and treat this situation as identical |
| 139 * to #2, but that means a new type is being defined in this file and developers | 139 * to #2, but that means a new type is being defined in this file and developers |
| (...skipping 6442 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6582 * @see https://developer.chrome.com/extensions/debugger.html#type-Debuggee | 6582 * @see https://developer.chrome.com/extensions/debugger.html#type-Debuggee |
| 6583 * @constructor | 6583 * @constructor |
| 6584 */ | 6584 */ |
| 6585 function Debuggee() {} | 6585 function Debuggee() {} |
| 6586 | 6586 |
| 6587 | 6587 |
| 6588 /** @type {number} */ | 6588 /** @type {number} */ |
| 6589 Debuggee.prototype.tabId; | 6589 Debuggee.prototype.tabId; |
| 6590 | 6590 |
| 6591 | 6591 |
| 6592 | |
| 6593 /** | 6592 /** |
| 6594 * @see https://developer.chrome.com/extensions/contentSettings.html#type-Resour
ceIdentifier | 6593 * @see https://developer.chrome.com/extensions/contentSettings.html#type-Resour
ceIdentifier |
| 6595 * @constructor | 6594 * @constructor |
| 6596 */ | 6595 */ |
| 6597 function ResourceIdentifier() {} | 6596 function ResourceIdentifier() {} |
| 6598 | 6597 |
| 6599 | 6598 |
| 6600 /** @type {string} */ | 6599 /** @type {string} */ |
| 6601 ResourceIdentifier.prototype.id; | 6600 ResourceIdentifier.prototype.id; |
| 6602 | 6601 |
| (...skipping 4030 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10633 /** @return {boolean} */ | 10632 /** @return {boolean} */ |
| 10634 chrome.downloads.DeterminingFilenameEvent.prototype.hasListeners = | 10633 chrome.downloads.DeterminingFilenameEvent.prototype.hasListeners = |
| 10635 function() {}; | 10634 function() {}; |
| 10636 | 10635 |
| 10637 | 10636 |
| 10638 /** | 10637 /** |
| 10639 * @type {!chrome.downloads.DeterminingFilenameEvent} | 10638 * @type {!chrome.downloads.DeterminingFilenameEvent} |
| 10640 * https://developer.chrome.com/extensions/downloads#event-onDeterminingFilename | 10639 * https://developer.chrome.com/extensions/downloads#event-onDeterminingFilename |
| 10641 */ | 10640 */ |
| 10642 chrome.downloads.onDeterminingFilename; | 10641 chrome.downloads.onDeterminingFilename; |
| OLD | NEW |