diff options
Diffstat (limited to 'chromium/chrome/browser/resources/chromeos/chromevox/common/chrome_extension_externs.js')
-rw-r--r-- | chromium/chrome/browser/resources/chromeos/chromevox/common/chrome_extension_externs.js | 1172 |
1 files changed, 1172 insertions, 0 deletions
diff --git a/chromium/chrome/browser/resources/chromeos/chromevox/common/chrome_extension_externs.js b/chromium/chrome/browser/resources/chromeos/chromevox/common/chrome_extension_externs.js new file mode 100644 index 00000000000..868cc73a909 --- /dev/null +++ b/chromium/chrome/browser/resources/chromeos/chromevox/common/chrome_extension_externs.js @@ -0,0 +1,1172 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + + +/** + * @fileoverview Definitions for the Chromium extensions API used by ChromeVox. + * + * @externs + */ + + +/** + * @const + */ +chrome.app = {}; + + +/** + * @const + */ +chrome.extension = {}; + + +/** @type {!Object|undefined} */ +chrome.extension.lastError = {}; + + +/** + * @type {string|undefined} + */ +chrome.extension.lastError.message; + + +/** @type {boolean|undefined} */ +chrome.extension.inIncognitoContext; + + +/** + * @param {string|Object.<string>=} opt_extensionIdOrConnectInfo Either the + * extensionId to connect to, in which case connectInfo params can be + * passed in the next optional argument, or the connectInfo params. + * @param {Object.<string>=} opt_connectInfo The connectInfo object, + * if arg1 was the extensionId to connect to. + * @return {Port} New port. + */ +chrome.extension.connect = function( + opt_extensionIdOrConnectInfo, opt_connectInfo) {}; + + +/** + * @return {Window} The global JS object for the background page. + */ +chrome.extension.getBackgroundPage = function() {}; + + +/** + * @param {string} path A path to a resource within an extension expressed + * relative to it's install directory. + * @return {string} The fully-qualified URL to the resource. + */ +chrome.extension.getURL = function(path) {}; + + +/** + * @param {function(boolean): void} callback Callback function. + */ +chrome.extension.isAllowedIncognitoAccess = function(callback) {}; + + +/** + * @param {string|*} extensionIdOrRequest Either the extensionId to send the + * request to, in which case the request is passed as the next arg, or the + * request. + * @param {*=} opt_request The request value, if arg1 was the extensionId. + * @param {function(*): void=} opt_callback The callback function which + * takes a JSON response object sent by the handler of the request. + */ +chrome.extension.sendMessage = function( + extensionIdOrRequest, opt_request, opt_callback) {}; + + +/** @type {ChromeEvent} */ +chrome.extension.onConnect; + + +/** @type {ChromeEvent} */ +chrome.extension.onConnectExternal; + + +/** @type {ChromeEvent} */ +chrome.extension.onMessage; + + +/** + * @const + */ +chrome.runtime = {}; + + +/** @type {!Object|undefined} */ +chrome.runtime.lastError = {}; + + +/** + * @type {string|undefined} + */ +chrome.runtime.lastError.message; + + +/** @type {string} */ +chrome.runtime.id; + + +/** + * @param {function(!Window=): void} callback Callback function. + */ +chrome.runtime.getBackgroundPage = function(callback) {}; + + + +/** + * Manifest information returned from chrome.runtime.getManifest. See + * http://developer.chrome.com/extensions/manifest.html. Note that there are + * several other fields not included here. They should be added to these externs + * as needed. + * @constructor + */ +chrome.runtime.Manifest = function() {}; + + +/** @type {string} */ +chrome.runtime.Manifest.prototype.name; + + +/** @type {string} */ +chrome.runtime.Manifest.prototype.version; + + +/** @type {number|undefined} */ +chrome.runtime.Manifest.prototype.manifest_version; + + +/** @type {string|undefined} */ +chrome.runtime.Manifest.prototype.description; + + +/** @type {!chrome.runtime.Manifest.Oauth2|undefined} */ +chrome.runtime.Manifest.prototype.oauth2; + + + +/** + * Oauth2 info in the manifest. + * See http://developer.chrome.com/apps/app_identity.html#update_manifest. + * @constructor + */ +chrome.runtime.Manifest.Oauth2 = function() {}; + + +/** @type {string} */ +chrome.runtime.Manifest.Oauth2.prototype.client_id; + +/**@type {!Array.<string>} */ +chrome.runtime.Manifest.Oauth2.prototype.scopes; + + +/** + * http://developer.chrome.com/extensions/runtime.html#method-getManifest + * @return {!chrome.runtime.Manifest} The full manifest file of the app or + * extension. + */ +chrome.runtime.getManifest = function() {}; + + +/** + * @param {string} path A path to a resource within an extension expressed + * relative to it's install directory. + * @return {string} The fully-qualified URL to the resource. + */ +chrome.runtime.getURL = function(path) {}; + +/** + * @param {string|!Object.<string>=} opt_extensionIdOrConnectInfo Either the + * extensionId to connect to, in which case connectInfo params can be + * passed in the next optional argument, or the connectInfo params. + * @param {!Object.<string>=} opt_connectInfo The connectInfo object, + * if arg1 was the extensionId to connect to. + * @return {!Port} New port. + */ +chrome.runtime.connect = function( + opt_extensionIdOrConnectInfo, opt_connectInfo) {}; + + +/** + * @param {string|*} extensionIdOrMessage Either the extensionId to send the + * message to, in which case the message is passed as the next arg, or the + * message itself. + * @param {(*|Object|function(*): void)=} opt_messageOrOptsOrCallback + * One of: + * The message, if arg1 was the extensionId. + * The options for message sending, if arg1 was the message and this + * argument is not a function. + * The callback, if arg1 was the message and this argument is a function. + * @param {(Object|function(*): void)=} opt_optsOrCallback + * Either the options for message sending, if arg2 was the message, + * or the callback. + * @param {function(*): void=} opt_callback The callback function which + * takes a JSON response object sent by the handler of the request. + */ +chrome.runtime.sendMessage = function( + extensionIdOrMessage, opt_messageOrOptsOrCallback, opt_optsOrCallback, + opt_callback) {}; + + +/** + * + * @param {function(!Object)} callback + */ +chrome.runtime.getPlatformInfo = function(callback) {}; + + +/** @type {!chrome.runtime.PortEvent} */ +chrome.runtime.onConnect; + + +/** @type {!chrome.runtime.PortEvent} */ +chrome.runtime.onConnectExternal; + + +/** @type {!chrome.runtime.MessageSenderEvent} */ +chrome.runtime.onMessage; + + +/** @type {!chrome.runtime.MessageSenderEvent} */ +chrome.runtime.onMessageExternal; + + +/** + * Event whose listeners take a Port parameter. + * @constructor + */ +chrome.runtime.PortEvent = function() {}; + + +/** + * @param {function(!Port): void} callback Callback. + */ +chrome.runtime.PortEvent.prototype.addListener = function(callback) {}; + + +/** + * @param {function(!Port): void} callback Callback. + */ +chrome.runtime.PortEvent.prototype.removeListener = function(callback) {}; + + +/** + * @param {function(!Port): void} callback Callback. + * @return {boolean} + */ +chrome.runtime.PortEvent.prototype.hasListener = function(callback) {}; + + +/** + * @return {boolean} + */ +chrome.runtime.PortEvent.prototype.hasListeners = function() {}; + + + +/** + * Event whose listeners take a MessageSender and additional parameters. + * @constructor + */ +chrome.runtime.MessageSenderEvent = function() {}; + + +/** + * @param {function(*, !MessageSender, function(*): void): (boolean|undefined)} + * callback Callback. + */ +chrome.runtime.MessageSenderEvent.prototype.addListener = function(callback) {}; + + +/** + * @param {function(*, !MessageSender, function(*): void): (boolean|undefined)} + * callback Callback. + */ +chrome.runtime.MessageSenderEvent.prototype.removeListener = function(callback) + {}; + + +/** + * @param {function(*, !MessageSender, function(*): void): (boolean|undefined)} + * callback Callback. + * @return {boolean} + */ +chrome.runtime.MessageSenderEvent.prototype.hasListener = function(callback) {}; + + +/** + * @return {boolean} + */ +chrome.runtime.MessageSenderEvent.prototype.hasListeners = function() {}; + + +/** + * @const + */ +chrome.tabs = {}; + + +/** + * @param {number?} windowId Window Id. + * @param {Object?} options parameters of image capture, such as the format of + * the resulting image. + * @param {function(string): void} callback Callback function which accepts + * the data URL string of a JPEG encoding of the visible area of the + * captured tab. May be assigned to the 'src' property of an HTML Image + * element for display. + */ +chrome.tabs.captureVisibleTab = function(windowId, options, callback) {}; + + +/** + * @param {number} tabId Tab Id. + * @param {Object.<string>=} opt_connectInfo Info Object. + */ +chrome.tabs.connect = function(tabId, opt_connectInfo) {}; + + +/** + * @param {Object} createProperties Info object. + * @param {function(Tab): void=} opt_callback The callback function. + */ +chrome.tabs.create = function(createProperties, opt_callback) {}; + + +/** + * @param {number?} tabId Tab id. + * @param {function(string): void} callback Callback function. + */ +chrome.tabs.detectLanguage = function(tabId, callback) {}; + + +/** + * @param {number?} tabId Tab id. + * @param {Object?} details An object which may have 'code', 'file', + * or 'allFrames' keys. + * @param {function(): void=} opt_callback Callback function. + */ +chrome.tabs.executeScript = function(tabId, details, opt_callback) {}; + + +/** + * @param {number} tabId Tab id. + * @param {function(Tab): void} callback Callback. + */ +chrome.tabs.get = function(tabId, callback) {}; + + +/** + * Note: as of 2012-04-12, this function is no longer documented on + * the public web pages, but there are still existing usages + * + * @param {number?} windowId Window id. + * @param {function(Array.<Tab>): void} callback Callback. + */ +chrome.tabs.getAllInWindow = function(windowId, callback) {}; + + +/** + * @param {function(Tab): void} callback Callback. + */ +chrome.tabs.getCurrent = function(callback) {}; + + +/** + * Note: as of 2012-04-12, this function is no longer documented on + * the public web pages, but there are still existing usages. + * + * @param {number?} windowId Window id. + * @param {function(Tab): void} callback Callback. + */ +chrome.tabs.getSelected = function(windowId, callback) {}; + + +/** + * @param {Object.<string, (number|Array.<number>)>} highlightInfo + * An object with 'windowId' (number) and 'tabs' + * (number or array of numbers) keys. + * @param {function(Window): void} callback Callback function invoked + * with each appropriate Window. + */ +chrome.tabs.highlight = function(highlightInfo, callback) {}; + + +/** + * @param {number?} tabId Tab id. + * @param {Object?} details An object which may have 'code', 'file', + * or 'allFrames' keys. + * @param {function(): void=} opt_callback Callback function. + */ +chrome.tabs.insertCSS = function(tabId, details, opt_callback) {}; + + +/** + * @param {number} tabId Tab id. + * @param {Object.<string, number>} moveProperties An object with 'index' + * and optional 'windowId' keys. + * @param {function(Tab): void=} opt_callback Callback. + */ +chrome.tabs.move = function(tabId, moveProperties, opt_callback) {}; + + +/** + * @param {Object.<string, (number|string)>} queryInfo An object which may have + * 'active', 'pinned', 'highlighted', 'status', 'title', 'url', 'windowId', + * and 'windowType' keys. + * @param {function(Array.<Tab>): void=} opt_callback Callback. + * @return {!Array.<Tab>} + */ +chrome.tabs.query = function(queryInfo, opt_callback) {}; + + +/** + * @param {number=} opt_tabId Tab id. + * @param {Object.<string, boolean>=} opt_reloadProperties An object which + * may have a 'bypassCache' key. + * @param {function(): void=} opt_callback The callback function invoked + * after the tab has been reloaded. + */ +chrome.tabs.reload = function(opt_tabId, opt_reloadProperties, opt_callback) {}; + + +/** + * @param {number|Array.<number>} tabIds A tab ID or an array of tab IDs. + * @param {function(Tab): void=} opt_callback Callback. + */ +chrome.tabs.remove = function(tabIds, opt_callback) {}; + + +/** + * @param {number} tabId Tab id. + * @param {*} request The request value of any type. + * @param {function(*): void=} opt_callback The callback function which + * takes a JSON response object sent by the handler of the request. + */ +chrome.tabs.sendMessage = function(tabId, request, opt_callback) {}; + + +/** + * @param {number} tabId Tab id. + * @param {*} request The request value of any type. + * @param {function(*): void=} opt_callback The callback function which + * takes a JSON response object sent by the handler of the request. + */ +chrome.tabs.sendRequest = function(tabId, request, opt_callback) {}; + + +/** + * @param {number} tabId Tab id. + * @param {Object.<string, (string|boolean)>} updateProperties An object which + * may have 'url' or 'selected' key. + * @param {function(Tab): void=} opt_callback Callback. + */ +chrome.tabs.update = function(tabId, updateProperties, opt_callback) {}; + + +/** @type {ChromeEvent} */ +chrome.tabs.onActiveChanged; + + +/** @type {ChromeEvent} */ +chrome.tabs.onActivated; + + +/** @type {ChromeEvent} */ +chrome.tabs.onAttached; + + +/** @type {ChromeEvent} */ +chrome.tabs.onCreated; + + +/** @type {ChromeEvent} */ +chrome.tabs.onDetached; + + +/** @type {ChromeEvent} */ +chrome.tabs.onHighlightChanged; + + +/** @type {ChromeEvent} */ +chrome.tabs.onMoved; + + +/** @type {ChromeEvent} */ +chrome.tabs.onRemoved; + + +/** @type {ChromeEvent} */ +chrome.tabs.onUpdated; + + +/** @type {ChromeEvent} */ +chrome.tabs.onReplaced; + +/** + * @const + */ +chrome.windows = {}; + + +/** + * @param {Object=} opt_createData May have many keys to specify parameters. + * Or the callback. + * @param {function(ChromeWindow): void=} opt_callback Callback. + */ +chrome.windows.create = function(opt_createData, opt_callback) {}; + + +/** + * @param {number} id Window id. + * @param {Object=} opt_getInfo May have 'populate' key. Or the callback. + * @param {function(!ChromeWindow): void=} opt_callback Callback when + * opt_getInfo is an object. + */ +chrome.windows.get = function(id, opt_getInfo, opt_callback) {}; + + +/** + * @param {Object=} opt_getInfo May have 'populate' key. Or the callback. + * @param {function(!Array.<!ChromeWindow>): void=} opt_callback Callback. + */ +chrome.windows.getAll = function(opt_getInfo, opt_callback) {}; + + +/** + * @param {Object=} opt_getInfo May have 'populate' key. Or the callback. + * @param {function(ChromeWindow): void=} opt_callback Callback. + */ +chrome.windows.getCurrent = function(opt_getInfo, opt_callback) { }; + + +/** + * @param {Object=} opt_getInfo May have 'populate' key. Or the callback. + * @param {function(ChromeWindow): void=} opt_callback Callback. + */ +chrome.windows.getLastFocused = function(opt_getInfo, opt_callback) { }; + + +/** + * @param {number} tabId Tab Id. + * @param {function(): void=} opt_callback Callback. + */ +chrome.windows.remove = function(tabId, opt_callback) {}; + + +/** + * @param {number} tabId Tab Id. + * @param {Object} updateProperties An object which may have many keys for + * various options. + * @param {function(): void=} opt_callback Callback. + */ +chrome.windows.update = function(tabId, updateProperties, opt_callback) {}; + + +/** @type {ChromeEvent} */ +chrome.windows.onCreated; + + +/** @type {ChromeEvent} */ +chrome.windows.onFocusChanged; + + +/** @type {ChromeEvent} */ +chrome.windows.onRemoved; + + +/** + * @type {number} + */ +chrome.windows.WINDOW_ID_NONE; + + +/** + * @type {number} + */ +chrome.windows.WINDOW_ID_CURRENT; + + +/** + * @const + */ +chrome.i18n = {}; + + +/** + * @param {function(Array.<string>): void} callback The callback function which + * accepts an array of the accept languages of the browser, such as + * 'en-US','en','zh-CN'. + */ +chrome.i18n.getAcceptLanguages = function(callback) {}; + + +/** + * @param {string} messageName + * @param {(string|Array.<string>)=} opt_args + * @return {string} + */ +chrome.i18n.getMessage = function(messageName, opt_args) {}; + + +/** + * Chrome Text-to-Speech API. + * @const + */ +chrome.tts = {}; + + + +/** + * An event from the TTS engine to communicate the status of an utterance. + * @constructor + */ +function TtsEvent() {} + + +/** @type {string} */ +TtsEvent.prototype.type; + + +/** @type {number} */ +TtsEvent.prototype.charIndex; + + +/** @type {string} */ +TtsEvent.prototype.errorMessage; + + + +/** + * A description of a voice available for speech synthesis. + * @constructor + */ +function TtsVoice() {} + + +/** @type {string} */ +TtsVoice.prototype.voiceName; + + +/** @type {string} */ +TtsVoice.prototype.lang; + + +/** @type {string} */ +TtsVoice.prototype.gender; + + +/** @type {string} */ +TtsVoice.prototype.extensionId; + + +/** @type {Array.<string>} */ +TtsVoice.prototype.eventTypes; + + +/** + * Gets an array of all available voices. + * @param {function(Array.<TtsVoice>)=} opt_callback An optional callback + * function. + */ +chrome.tts.getVoices = function(opt_callback) {}; + + +/** + * Checks if the engine is currently speaking. + * @param {function(boolean)=} opt_callback The callback function. + */ +chrome.tts.isSpeaking = function(opt_callback) {}; + + +/** + * Speaks text using a text-to-speech engine. + * @param {string} utterance The text to speak, either plain text or a complete, + * well-formed SSML document. Speech engines that do not support SSML will + * strip away the tags and speak the text. The maximum length of the text is + * 32,768 characters. + * @param {Object=} opt_options The speech options. + * @param {function()=} opt_callback Called right away, before speech finishes. + */ +chrome.tts.speak = function(utterance, opt_options, opt_callback) {}; + + +/** + * Stops any current speech. + */ +chrome.tts.stop = function() {}; + + +/** + * @const + */ +chrome.history = {}; + + +/** + * @param {Object.<string, string>} details Object with a 'url' key. + */ +chrome.history.addUrl = function(details) {}; + + +/** + * @param {function(): void} callback Callback function. + */ +chrome.history.deleteAll = function(callback) {}; + + +/** + * @param {Object.<string, string>} range Object with 'startTime' + * and 'endTime' keys. + * @param {function(): void} callback Callback function. + */ +chrome.history.deleteRange = function(range, callback) {}; + + +/** + * @param {Object.<string, string>} details Object with a 'url' key. + */ +chrome.history.deleteUrl = function(details) {}; + + +/** + * @param {Object.<string, string>} details Object with a 'url' key. + * @param {function(!Array.<!VisitItem>): void} callback Callback function. + * @return {!Array.<!VisitItem>} + */ +chrome.history.getVisits = function(details, callback) {}; + + +/** + * @param {Object.<string, string>} query Object with a 'text' (string) + * key and optional 'startTime' (number), 'endTime' (number) and + * 'maxResults' keys. + * @param {function(!Array.<!HistoryItem>): void} callback Callback function. + * @return {!Array.<!HistoryItem>} + */ +chrome.history.search = function(query, callback) {}; + + +/** @type {ChromeEvent} */ +chrome.history.onVisitRemoved; + + +/** @type {ChromeEvent} */ +chrome.history.onVisited; + + +/** + * @const + */ +chrome.permissions = {}; + + +/** + * @typedef {{ + * permissions: (Array.<string>|undefined), + * origins: (Array.<string>|undefined) + * }} +* @see http://developer.chrome.com/extensions/permissions.html#type-Permissions +*/ +chrome.permissions.Permissions; + + +/** + * @param {!chrome.permissions.Permissions} permissions + * @param {function(boolean): void} callback Callback function. + */ +chrome.permissions.contains = function(permissions, callback) {}; + + +/** + * @param {function(!chrome.permissions.Permissions): void} callback + * Callback function. + */ +chrome.permissions.getAll = function(callback) {}; + + +/** + * @param {!chrome.permissions.Permissions} permissions + * @param {function(boolean): void=} opt_callback Callback function. + */ +chrome.permissions.remove = function(permissions, opt_callback) {}; + + +/** + * @param {!chrome.permissions.Permissions} permissions + * @param {function(boolean): void=} opt_callback Callback function. + */ +chrome.permissions.request = function(permissions, opt_callback) {}; + + +/** @type {!ChromeEvent} */ +chrome.permissions.onAdded; + + +/** @type {!ChromeEvent} */ +chrome.permissions.onRemoved; + + +/** + */ +chrome.power = {}; + + +/** + * @param {string} level A string describing the degree to which power + * management should be disabled, should be either "system" or "display". + */ +chrome.power.requestKeepAwake = function(level) {}; + + +/** + * Releases a request previously made via requestKeepAwake(). + */ +chrome.power.releaseKeepAwake = function() {}; + + +/** + * @constructor + */ +function Tab() {} + + +/** @type {number} */ +Tab.prototype.id; + + +/** @type {number} */ +Tab.prototype.index; + + +/** @type {number} */ +Tab.prototype.windowId; + + +/** @type {number} */ +Tab.prototype.openerTabId; + + +/** @type {boolean} */ +Tab.prototype.highlighted; + + +/** @type {boolean} */ +Tab.prototype.active; + + +/** @type {boolean} */ +Tab.prototype.pinned; + + +/** @type {string} */ +Tab.prototype.url; + + +/** @type {string} */ +Tab.prototype.title; + + +/** @type {string} */ +Tab.prototype.favIconUrl; + + +/** @type {string} */ +Tab.prototype.status; + + +/** @type {boolean} */ +Tab.prototype.incognito; + + + +/** + * @constructor + */ +function ChromeWindow() {} + + +/** @type {number} */ +ChromeWindow.prototype.id; + + +/** @type {boolean} */ +ChromeWindow.prototype.focused; + + +/** @type {number} */ +ChromeWindow.prototype.top; + + +/** @type {number} */ +ChromeWindow.prototype.left; + + +/** @type {number} */ +ChromeWindow.prototype.width; + + +/** @type {number} */ +ChromeWindow.prototype.height; + + +/** @type {Array.<Tab>} */ +ChromeWindow.prototype.tabs; + + +/** @type {boolean} */ +ChromeWindow.prototype.incognito; + + +/** @type {string} */ +ChromeWindow.prototype.type; + + +/** @type {string} */ +ChromeWindow.prototype.state; + + +/** @type {boolean} */ +ChromeWindow.prototype.alwaysOnTop; + + + +/** + * @constructor + */ +function ChromeEvent() {} + + +/** @param {Function} callback */ +ChromeEvent.prototype.addListener = function(callback) {}; + + +/** @param {Function} callback */ +ChromeEvent.prototype.removeListener = function(callback) {}; + + +/** + * @param {Function} callback + * @return {boolean} + */ +ChromeEvent.prototype.hasListener = function(callback) {}; + + +/** @return {boolean} */ +ChromeEvent.prototype.hasListeners = function(callback) {}; + + +/** + * @constructor + */ +function Port() {} + + +/** @type {string} */ +Port.prototype.name; + + +/** @type {ChromeEvent} */ +Port.prototype.onDisconnect; + + +/** @type {ChromeEvent} */ +Port.prototype.onMessage; + + +/** @type {MessageSender} */ +Port.prototype.sender; + + +/** + * @param {Object.<string>} obj Message object. + */ +Port.prototype.postMessage = function(obj) {}; + + +/** + * Note: as of 2012-04-12, this function is no longer documented on + * the public web pages, but there are still existing usages. + */ +Port.prototype.disconnect = function() {}; + + + +/** + * @constructor + */ +function MessageSender() {} + + +/** @type {!Tab|undefined} */ +MessageSender.prototype.tab; + + +/** @type {string|undefined} */ +MessageSender.prototype.id; + + +/** @type {string|undefined} */ +MessageSender.prototype.url; + + +/** @type {string|undefined} */ +MessageSender.prototype.tlsChannelId; + + + +/** + * @constructor + */ +function BookmarkTreeNode() {} + + +/** @type {string} */ +BookmarkTreeNode.prototype.id; + + +/** @type {string} */ +BookmarkTreeNode.prototype.parentId; + + +/** @type {number} */ +BookmarkTreeNode.prototype.index; + + +/** @type {string} */ +BookmarkTreeNode.prototype.url; + + +/** @type {string} */ +BookmarkTreeNode.prototype.title; + + +/** @type {number} */ +BookmarkTreeNode.prototype.dateAdded; + + +/** @type {number} */ +BookmarkTreeNode.prototype.dateGroupModified; + + +/** @type {Array.<BookmarkTreeNode>} */ +BookmarkTreeNode.prototype.children; + + + +/** + * @constructor + */ +function Cookie() {} + + +/** @type {string} */ +Cookie.prototype.name; + + +/** @type {string} */ +Cookie.prototype.value; + + +/** @type {string} */ +Cookie.prototype.domain; + + +/** @type {boolean} */ +Cookie.prototype.hostOnly; + + +/** @type {string} */ +Cookie.prototype.path; + + +/** @type {boolean} */ +Cookie.prototype.secure; + + +/** @type {boolean} */ +Cookie.prototype.httpOnly; + + +/** @type {boolean} */ +Cookie.prototype.session; + + +/** @type {number} */ +Cookie.prototype.expirationDate; + + +/** @type {string} */ +Cookie.prototype.storeId; + + + +/** + * @constructor + */ +function Debuggee() {} + + +/** @type {number} */ +Debuggee.prototype.tabId; + + +/** + * @constructor + */ +function HistoryItem() {} + + +/** @type {string} */ +HistoryItem.prototype.id; + + +/** @type {string} */ +HistoryItem.prototype.url; + + +/** @type {string} */ +HistoryItem.prototype.title; + + +/** @type {number} */ +HistoryItem.prototype.lastVisitTime; + + +/** @type {number} */ +HistoryItem.prototype.visitCount; + + +/** @type {number} */ +HistoryItem.prototype.typedCount; + + + +/** + * @constructor + */ +function VisitItem() {} + + +/** @type {string} */ +VisitItem.prototype.id; + + +/** @type {string} */ +VisitItem.prototype.visitId; + + +/** @type {number} */ +VisitItem.prototype.visitTime; + + +/** @type {string} */ +VisitItem.prototype.referringVisitId; + + +/** @type {string} */ +VisitItem.prototype.transition; |