///<summary>Updates the properties of a bookmark or folder. Specify only the properties that you want to change; unspecified properties will be left unchanged. Note: Currently, only 'title' and 'url' are supported.</summary>
///<summary>Fired when the children of a folder have changed their order due to the order being sorted in the UI. This is not called as a result of a move().</summary>
///<summary>Fired when a bookmark import session is begun. Expensive observers should ignore handleCreated updates until onImportEnded is fired. Observers should still handle other notifications immediately.</summary>
///<summary>Fired when a bookmark or folder is removed. When a folder is removed recursively, a single notification is fired for the folder, and none for its contents.</summary>
///<summary>Sets the icon for the browser action. The icon can be specified either as the path to an image file or as the pixel data from a canvas element. Either the path or the imageData property must be specified.</summary>
///<summary>Creates a new context menu item. Note that if an error occurs during creation, you may not find out until the creation callback fires (the details will be in chrome.extension.lastError)</summary>
///<summary>Retrieves information about a single cookie. If more than one cookie of the same name exists for the given URL, the one with the longest path will be returned. For cookies with the same path length, the cookie with the earliest creation time will be returned.</summary>
///<summary>Retrieves all cookies from a single cookie store that match the given information. The cookies returned will be sorted, with those with the longest path first. If multiple cookies have the same path length, those with the earliest creation time will be first.</summary>
///<summary>Attempts to connect to other listeners within the extension (such as the extension's background page). This is primarily useful for content scripts connecting to their extension processes. Extensions may connect to content scripts embedded in tabs via chrome.tabs.connect().</summary>
///<param name="extensionId" type="String" > (optional) The extension ID of the extension you want to connect to. If omitted, default is your own extension.</param>
///<returns>( Port ) Port through which messages can be sent and received with the extension.</returns>
},
getBackgroundPage:
function(){
///<summary>Returns the JavaScript 'window' object for the background page running inside the current extension. Returns null if the extension has no backround page.</summary>
///<returns>( DOMWindow )</returns>
},
getExtensionTabs:
function(windowId){
///<summary>Returns an array of the JavaScript 'window' objects for each of the tabs running inside the current extension. If windowId is specified, returns only the 'window' objects of tabs attached to the specified window.</summary>
///<param name="windowId" type="int" > (optional) The window ID of the window you want to retrieve the tabs from.</param>
///<returns>( array of DOMWindow ) Array of global window objects</returns>
},
getURL:
function(path){
///<summary>Converts a relative path within an extension install directory to a fully-qualified URL.</summary>
///<param name="path" type="String">A path to a resource within an extension expressed relative to it's install directory.</param>
///<returns>( string ) The fully-qualified URL to the resource.</returns>
},
getViews:
function(){
///<summary>Returns an array of the JavaScript 'window' objects for each of the pages running inside the current extension. This includes background pages and tabs.</summary>
///<returns>( array of DOMWindow ) Array of global window objects</returns>
},
isAllowedFileSchemeAccess:
function(callback){
///<summary>Retrieves the state of the extension's access to the 'file://' scheme (as determined by the user-controlled 'Allow access to File URLs' checkbox.</summary>
///<summary>Retrieves the state of the extension's access to Incognito-mode (as determined by the user-controlled 'Allowed in Incognito' checkbox.</summary>
///<summary>Sends a single request to other listeners within the extension. Similar to chrome.extension.connect, but only sends a single request with an optional response.</summary>
///<param name="extensionId" type="String" > (optional) The extension ID of the extension you want to connect to. If omitted, default is your own extension.</param>
///<summary>Sets the value of the ap CGI parameter used in the extension's update URL. This value is ignored for extensions that are hosted in the Chrome Extension Gallery.</summary>
///<param name="data" type="String"></param>
},
onConnect:{
addListener:
function(listener){
///<summary>Fired when a connection is made from either an extension process or a content script.</summary>
///<summary>Removes all items within the specified date range from the history. Pages will not be removed from the history unless all visits fall within the range.</summary>
///<param name="callback" type="Function">function(array of HistoryItem results){...}</param>
},
onVisitRemoved:{
addListener:
function(listener){
///<summary>Fired when one or more URLs are removed from the history service. When all visits have been removed the URL is purged from history.</summary>
///<summary>Fired when one or more URLs are removed from the history service. When all visits have been removed the URL is purged from history.</summary>
///<summary>Gets the accept-languages of the browser. This is different from the locale used by the browser; to get the locale, use window.navigator.language.</summary>
///<param name="callback" type="Function">function(array of string languages) {...}</param>
},
getMessage:
function(messageName,substitutions){
///<summary>Gets the localized string for the specified message. If the message is missing, this method returns an empty string (''). If the format of the getMessage() call is wrong — for example, messageName is not a string or the substitutions array is empty or has more than 9 elements — this method returns undefined.</summary>
///<param name="messageName" type="String">The name of the message, as specified in the messages.json file.</param>
///<param name="substitutions" type="String">1 - 9 substitution strings, if the message requires any.</param>
}
},
idle:{
queryState:
function(thresholdSeconds,callback){
///<summary>Returns the current state of the browser.</summary>
///<param name="thresholdSeconds" type="int">Threshold, in seconds, used to determine when a machine is in the idle state.</param>
///<summary>Returns a list of information about installed extensions and apps.</summary>
///<param name="callback" type="Function">function(array of ExtensionInfo result) {...}</param>
},
getPermissionWarningsById:
function(id,callback){
///<summary>Returns a list of permission warnings for the given extension id.</summary>
///<param name="id" type="String">The ID of an already installed extension.<param>
///<param name="callback" type="Function">function(array of string permissionWarnings) {...}<param>
},
getPermissionWarningsByManifest:
function(id,callback){
///<summary>Returns a list of permission warnings for the given extension manifest string. Note: This function can be used without requesting the 'management' permission in the manifest.</summary>
///<summary>Sets the description and styling for the default suggestion. The default suggestion is the text that is displayed in the first suggestion row underneath the URL bar.</summary>
///<summary>User has started a keyword input session by typing the extension's keyword. This is guaranteed to be sent exactly once per input session, and before any onInputChanged events.</summary>
///<param name="tabId" type="int">The id of the tab for which you want to modify the page action.</param>
},
setIcon:
function(details){
///<summary>Sets the icon for the page action. The icon can be specified either as the path to an image file or as the pixel data from a canvas element. Either the path or the imageData property must be specified.</summary>
///<summary>Attempts to connect to other listeners within the extension (such as the extension's background page). This is primarily useful for content scripts connecting to their extension processes. Extensions may connect to content scripts embedded in tabs via chrome.tabs.connect().</summary>
///<param name="tabId" type="int">The tab ID of the tab you want to connect to.</param>
///<summary>Executes scripts against a tab's content.</summary>
///<param name="tabId" type="int" > (optional) Defaults to the selected tab of current window.</param>
///<param name="details" type="Object">{code: (optional string), file: (optional string), allFrames: (optional boolean)} NOTE: Either the code or file property must be set, but both may not be set at the same time.</param>
///<summary>Gets details about all tabs in the specified window.</summary>
///<param name="windowId" type="int" > (optional) Defaults to the current window.</param>
///<param name="callback" type="Function">function(array of Tab tabs) {...}</param>
},
getCurrent:
function(callback){
///<summary>Gets the tab that this script call is being made from. May be undefined if called from a non-tab context (for example: a background page or popup view).</summary>
///<summary>Retrieves details about the specified tab.</summary>
///<param name="tabId" type="int" > (optional) Defaults to the selected tab of current window.</param>
///<param name="details" type="Object">{code: (optional string), file: (optional string), allFrame: (optional boolean)} NOTE: Either the code or file property must be set, but both may not be set at the same time.</param>
///<summary>Sends a single request to the content script(s) in the specified tab, with an optional callback to run when a response is sent back. The chrome.extension.onRequest event is fired in each content script running in the specified tab for the current extension.</summary>
///<summary>Fires when a tab is moved within a window. Only one move event is fired, representing the tab the user directly moved. Move events are not fired for the other tabs that must move in response. This event is not fired when a tab is moved between windows. For that, see onDetached.</summary>
///<summary>Speaks text using a text-to-speech engine.</summary>
///<param name="utterance" type="string" >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>
///<param name="listener" type="Function">function(string utterance, object options, Function sendTtsEvent) {...}</param>
}
},
onStop:{
addListener:
function(listener){
///<summary>Fired when a call is made to tts.stop and this extension may be in the middle of speaking. If an extension receives a call to onStop and speech is already stopped, it should do nothing (not raise an error).</summary>
}
}
},
types:{
ChromeSetting:{
clear:
function(details,callback){
///<summary>Clears the setting. This way default settings can become effective again.</summary>
///<summary>Updates the properties of a window. Specify only the properties that you want to change; unspecified properties will be left unchanged.</summary>
///<summary>Fired when the currently focused window changes. Will be chrome.windows.WINDOW_ID_NONE if all chrome windows have lost focus. Note: On some Linux window managers, WINDOW_ID_NONE will always be sent immediately preceding a switch from one chrome window to another.</summary>
/// <summary>Sends a single message to onMessage event listeners within the extension (or another extension/app). Similar to chrome.runtime.connect, but only sends a single message with an optional response. The onMessage event is fired in each extension page of the extension. Note that extensions cannot send messages to content scripts using this method. To send messages to content scripts, use tabs.sendMessage.</summary>
},
onMessage:{
addListener:function(message,sender,response){
/// <summary>Fired when a message is sent from either an extension process or a content script.</summary>
/// <param name="response" type="Function">Function to call (at most once) when you have a response. The argument should be any JSON-ifiable object. If you have more than one onMessage listener in the same document, then only one may send a response. This function becomes invalid when the event listener returns, unless you return true from the event listener to indicate you wish to send a response asynchronously (this will keep the message channel open to the other end until sendResponse is called).</param>
/// <summary>Fires when a request is about to occur. This event is sent before any TCP connection is made and can be used to cancel or redirect requests.</summary>
/// <summary>Fires when a request is about to occur and the initial headers have been prepared. The event is intended to allow extensions to add, modify, and delete request headers (*). The onBeforeSendHeaders event is passed to all subscribers, so different subscribers may attempt to modify the request; see the Implementation details section for how this is handled. This event can be used to cancel the request.</summary>
/// <summary>Fires after all extensions have had a chance to modify the request headers, and presents the final (*) version. The event is triggered before the headers are sent to the network. This event is informational and handled asynchronously. It does not allow modifying or cancelling the request.</summary>
/// <summary>Fires each time that an HTTP(S) response header is received. Due to redirects and authentication requests this can happen multiple times per request. This event is intended to allow extensions to add, modify, and delete response headers, such as incoming Set-Cookie headers.</summary>
/// <summary>Fires when a request requires authentication of the user. This event can be handled synchronously to provide authentication credentials. Note that extensions may provide invalid credentials. Take care not to enter an infinite loop by repeatedly providing invalid credentials.</summary>
/// <summary>Fires when a redirect is about to be executed. A redirection can be triggered by an HTTP response code or by an extension. This event is informational and handled asynchronously. It does not allow you to modify or cancel the request.</summary>
/// <summary>Fires when the first byte of the response body is received. For HTTP requests, this means that the status line and response headers are available. This event is informational and handled asynchronously. It does not allow modifying or cancelling the request.</summary>
/// <summary>Fires when a request could not be processed successfully. The web request API guarantees that for each request either onCompleted or onErrorOccurred is fired as the final event with one exception: If a request is redirected to a data:// URL, onBeforeRedirect is the last reported event.</summary>