Commit 57071b26 authored by dpapad's avatar dpapad Committed by Commit Bot

JS compiler: Check-in generated externs for various extensions APIs.

Some manual edits have been recorded in the form of "NOTE" comments,
since the generation script still has some bugs.

Bug: 1081815
Change-Id: I2d2fb4cf82d0b1467a0afd335cd61a3c68688990
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2212998Reviewed-by: default avatarMike Frysinger <vapier@chromium.org>
Reviewed-by: default avatarRebekah Potter <rbpotter@chromium.org>
Commit-Queue: dpapad <dpapad@chromium.org>
Cr-Commit-Position: refs/heads/master@{#774390}
parent 32d95678
// Copyright 2020 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.
// This file was generated by:
// tools/json_schema_compiler/compiler.py.
// NOTE: The format of types has changed. 'FooType' is now
// 'chrome.bookmarks.FooType'.
// Please run the closure compiler before committing changes.
// See https://chromium.googlesource.com/chromium/src/+/master/docs/closure_compilation.md
/** @fileoverview Externs generated from namespace: bookmarks */
/** @const */
chrome.bookmarks = {};
/**
* @enum {string}
* @see https://developer.chrome.com/extensions/bookmarks#type-BookmarkTreeNodeUnmodifiable
*/
chrome.bookmarks.BookmarkTreeNodeUnmodifiable = {
MANAGED: 'managed',
};
/**
* A node (either a bookmark or a folder) in the bookmark tree. Child nodes are ordered within their parent folder.
* @typedef {{
* id: string,
* parentId: (string|undefined),
* index: (number|undefined),
* url: (string|undefined),
* title: string,
* dateAdded: (number|undefined),
* dateGroupModified: (number|undefined),
* unmodifiable: (!chrome.bookmarks.BookmarkTreeNodeUnmodifiable|undefined),
* children: (!Array<!chrome.bookmarks.BookmarkTreeNode>|undefined)
* }}
* @see https://developer.chrome.com/extensions/bookmarks#type-BookmarkTreeNode
*/
chrome.bookmarks.BookmarkTreeNode;
/**
* Object passed to the create() function.
* @typedef {{
* parentId: (string|undefined),
* index: (number|undefined),
* title: (string|undefined),
* url: (string|undefined)
* }}
* @see https://developer.chrome.com/extensions/bookmarks#type-CreateDetails
*/
chrome.bookmarks.CreateDetails;
/**
* @type {number}
* @see https://developer.chrome.com/extensions/bookmarks#type-MAX_WRITE_OPERATIONS_PER_HOUR
*/
chrome.bookmarks.MAX_WRITE_OPERATIONS_PER_HOUR;
/**
* @type {number}
* @see https://developer.chrome.com/extensions/bookmarks#type-MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE
*/
chrome.bookmarks.MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE;
/**
* Retrieves the specified BookmarkTreeNode(s).
* @param {(string|!Array<string>)} idOrIdList A single string-valued id, or an
* array of string-valued ids
* @param {function(!Array<!chrome.bookmarks.BookmarkTreeNode>):void} callback
* @see https://developer.chrome.com/extensions/bookmarks#method-get
*/
chrome.bookmarks.get = function(idOrIdList, callback) {};
/**
* Retrieves the children of the specified BookmarkTreeNode id.
* @param {string} id
* @param {function(!Array<!chrome.bookmarks.BookmarkTreeNode>):void} callback
* @see https://developer.chrome.com/extensions/bookmarks#method-getChildren
*/
chrome.bookmarks.getChildren = function(id, callback) {};
/**
* Retrieves the recently added bookmarks.
* @param {number} numberOfItems The maximum number of items to return.
* @param {function(!Array<!chrome.bookmarks.BookmarkTreeNode>):void} callback
* @see https://developer.chrome.com/extensions/bookmarks#method-getRecent
*/
chrome.bookmarks.getRecent = function(numberOfItems, callback) {};
/**
* Retrieves the entire Bookmarks hierarchy.
* @param {function(!Array<!chrome.bookmarks.BookmarkTreeNode>):void} callback
* @see https://developer.chrome.com/extensions/bookmarks#method-getTree
*/
chrome.bookmarks.getTree = function(callback) {};
/**
* Retrieves part of the Bookmarks hierarchy, starting at the specified node.
* @param {string} id The ID of the root of the subtree to retrieve.
* @param {function(!Array<!chrome.bookmarks.BookmarkTreeNode>):void} callback
* @see https://developer.chrome.com/extensions/bookmarks#method-getSubTree
*/
chrome.bookmarks.getSubTree = function(id, callback) {};
/**
* Searches for BookmarkTreeNodes matching the given query. Queries specified
* with an object produce BookmarkTreeNodes matching all specified properties.
* @param {(string|{
* query: (string|undefined),
* url: (string|undefined),
* title: (string|undefined)
* })} query Either a string of words and quoted phrases that are matched
* against bookmark URLs and titles, or an object. If an object, the
* properties <code>query</code>, <code>url</code>, and <code>title</code>
* may be specified and bookmarks matching all specified properties will be
* produced.
* @param {function(!Array<!chrome.bookmarks.BookmarkTreeNode>):void} callback
* @see https://developer.chrome.com/extensions/bookmarks#method-search
*/
chrome.bookmarks.search = function(query, callback) {};
/**
* Creates a bookmark or folder under the specified parentId. If url is NULL or
* missing, it will be a folder.
* @param {!chrome.bookmarks.CreateDetails} bookmark
* @param {function(!chrome.bookmarks.BookmarkTreeNode):void=} callback
* @see https://developer.chrome.com/extensions/bookmarks#method-create
*/
chrome.bookmarks.create = function(bookmark, callback) {};
/**
* Moves the specified BookmarkTreeNode to the provided location.
* @param {string} id
* @param {{
* parentId: (string|undefined),
* index: (number|undefined)
* }} destination
* @param {function(!chrome.bookmarks.BookmarkTreeNode):void=} callback
* @see https://developer.chrome.com/extensions/bookmarks#method-move
*/
chrome.bookmarks.move = function(id, destination, callback) {};
/**
* 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.
* @param {string} id
* @param {{
* title: (string|undefined),
* url: (string|undefined)
* }} changes
* @param {function(!chrome.bookmarks.BookmarkTreeNode):void=} callback
* @see https://developer.chrome.com/extensions/bookmarks#method-update
*/
chrome.bookmarks.update = function(id, changes, callback) {};
/**
* Removes a bookmark or an empty bookmark folder.
* @param {string} id
* @param {function():void=} callback
* @see https://developer.chrome.com/extensions/bookmarks#method-remove
*/
chrome.bookmarks.remove = function(id, callback) {};
/**
* Recursively removes a bookmark folder.
* @param {string} id
* @param {function():void=} callback
* @see https://developer.chrome.com/extensions/bookmarks#method-removeTree
*/
chrome.bookmarks.removeTree = function(id, callback) {};
/**
* Imports bookmarks from a chrome html bookmark file
* @param {function():void=} callback
* @see https://developer.chrome.com/extensions/bookmarks#method-import
*/
chrome.bookmarks.import = function(callback) {};
/**
* Exports bookmarks to a chrome html bookmark file
* @param {function():void=} callback
* @see https://developer.chrome.com/extensions/bookmarks#method-export
*/
chrome.bookmarks.export = function(callback) {};
/**
* Fired when a bookmark or folder is created.
* @type {!ChromeEvent}
* @see https://developer.chrome.com/extensions/bookmarks#event-onCreated
*/
chrome.bookmarks.onCreated;
/**
* 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.
* @type {!ChromeEvent}
* @see https://developer.chrome.com/extensions/bookmarks#event-onRemoved
*/
chrome.bookmarks.onRemoved;
/**
* Fired when a bookmark or folder changes. <b>Note:</b> Currently, only title
* and url changes trigger this.
* @type {!ChromeEvent}
* @see https://developer.chrome.com/extensions/bookmarks#event-onChanged
*/
chrome.bookmarks.onChanged;
/**
* Fired when a bookmark or folder is moved to a different parent folder.
* @type {!ChromeEvent}
* @see https://developer.chrome.com/extensions/bookmarks#event-onMoved
*/
chrome.bookmarks.onMoved;
/**
* 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().
* @type {!ChromeEvent}
* @see https://developer.chrome.com/extensions/bookmarks#event-onChildrenReordered
*/
chrome.bookmarks.onChildrenReordered;
/**
* Fired when a bookmark import session is begun. Expensive observers should
* ignore onCreated updates until onImportEnded is fired. Observers should
* still handle other notifications immediately.
* @type {!ChromeEvent}
* @see https://developer.chrome.com/extensions/bookmarks#event-onImportBegan
*/
chrome.bookmarks.onImportBegan;
/**
* Fired when a bookmark import session is ended.
* @type {!ChromeEvent}
* @see https://developer.chrome.com/extensions/bookmarks#event-onImportEnded
*/
chrome.bookmarks.onImportEnded;
// Copyright 2020 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.
// This file was generated by:
// tools/json_schema_compiler/compiler.py.
// NOTE: The format of types has changed. 'FooType' is now
// 'chrome.events.FooType'.
// Please run the closure compiler before committing changes.
// See https://chromium.googlesource.com/chromium/src/+/master/docs/closure_compilation.md
/** @fileoverview Externs generated from namespace: events */
/** @const */
chrome.events = {};
/**
* Description of a declarative rule for handling events.
* @typedef {{
* id: (string|undefined),
* tags: (!Array<string>|undefined),
* conditions: !Array<*>,
* actions: !Array<*>,
* priority: (number|undefined)
* }}
* @see https://developer.chrome.com/extensions/events#type-Rule
*/
chrome.events.Rule;
/**
* An object which allows the addition and removal of listeners for a Chrome event.
* @typedef {Object}
* @see https://developer.chrome.com/extensions/events#type-Event
*/
chrome.events.Event;
/**
* Filters URLs for various criteria. See <a href='events#filtered'>event filtering</a>. All criteria are case sensitive.
* @typedef {{
* hostContains: (string|undefined),
* hostEquals: (string|undefined),
* hostPrefix: (string|undefined),
* hostSuffix: (string|undefined),
* pathContains: (string|undefined),
* pathEquals: (string|undefined),
* pathPrefix: (string|undefined),
* pathSuffix: (string|undefined),
* queryContains: (string|undefined),
* queryEquals: (string|undefined),
* queryPrefix: (string|undefined),
* querySuffix: (string|undefined),
* urlContains: (string|undefined),
* urlEquals: (string|undefined),
* urlMatches: (string|undefined),
* originAndPathMatches: (string|undefined),
* urlPrefix: (string|undefined),
* urlSuffix: (string|undefined),
* schemes: (!Array<string>|undefined),
* ports: (!Array<(number|!Array<number>)>|undefined)
* }}
* @see https://developer.chrome.com/extensions/events#type-UrlFilter
*/
chrome.events.UrlFilter;
// Copyright 2020 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.
// This file was generated by:
// tools/json_schema_compiler/compiler.py.
// NOTE: The format of types has changed. 'FooType' is now
// 'chrome.extensionTypes.FooType'.
// Please run the closure compiler before committing changes.
// See https://chromium.googlesource.com/chromium/src/+/master/docs/closure_compilation.md
/** @fileoverview Externs generated from namespace: extensionTypes */
/** @const */
chrome.extensionTypes = {};
/**
* @enum {string}
* @see https://developer.chrome.com/extensions/extensionTypes#type-ImageFormat
*/
chrome.extensionTypes.ImageFormat = {
JPEG: 'jpeg',
PNG: 'png',
};
/**
* Details about the format and quality of an image.
* @typedef {{
* format: (!chrome.extensionTypes.ImageFormat|undefined),
* quality: (number|undefined)
* }}
* @see https://developer.chrome.com/extensions/extensionTypes#type-ImageDetails
*/
chrome.extensionTypes.ImageDetails;
/**
* @enum {string}
* @see https://developer.chrome.com/extensions/extensionTypes#type-RunAt
*/
chrome.extensionTypes.RunAt = {
DOCUMENT_START: 'document_start',
DOCUMENT_END: 'document_end',
DOCUMENT_IDLE: 'document_idle',
};
/**
* @enum {string}
* @see https://developer.chrome.com/extensions/extensionTypes#type-CSSOrigin
*/
chrome.extensionTypes.CSSOrigin = {
AUTHOR: 'author',
USER: 'user',
};
/**
* Details of the script or CSS to inject. Either the code or the file property must be set, but both may not be set at the same time.
* @typedef {{
* code: (string|undefined),
* file: (string|undefined),
* allFrames: (boolean|undefined),
* frameId: (number|undefined),
* matchAboutBlank: (boolean|undefined),
* runAt: (!chrome.extensionTypes.RunAt|undefined),
* cssOrigin: (!chrome.extensionTypes.CSSOrigin|undefined)
* }}
* @see https://developer.chrome.com/extensions/extensionTypes#type-InjectDetails
*/
chrome.extensionTypes.InjectDetails;
This diff is collapsed.
This diff is collapsed.
// Copyright 2020 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.
// This file was generated by:
// tools/json_schema_compiler/compiler.py.
// NOTE: The format of types has changed. 'FooType' is now
// 'chrome.windows.FooType'.
// Please run the closure compiler before committing changes.
// See https://chromium.googlesource.com/chromium/src/+/master/docs/closure_compilation.md
// IMPORTANT NOTE: Work-around for crbug.com/543822
// s/chrome.windows.tabs.Tab/chrome.tabs.Tab/
/** @fileoverview Externs generated from namespace: windows */
/** @const */
chrome.windows = {};
/**
* @enum {string}
* @see https://developer.chrome.com/extensions/windows#type-WindowType
*/
chrome.windows.WindowType = {
NORMAL: 'normal',
POPUP: 'popup',
PANEL: 'panel',
APP: 'app',
DEVTOOLS: 'devtools',
};
/**
* @enum {string}
* @see https://developer.chrome.com/extensions/windows#type-WindowState
*/
chrome.windows.WindowState = {
NORMAL: 'normal',
MINIMIZED: 'minimized',
MAXIMIZED: 'maximized',
FULLSCREEN: 'fullscreen',
LOCKED_FULLSCREEN: 'locked-fullscreen',
};
/**
* @typedef {{
* id: (number|undefined),
* focused: boolean,
* top: (number|undefined),
* left: (number|undefined),
* width: (number|undefined),
* height: (number|undefined),
* tabs: (!Array<!chrome.tabs.Tab>|undefined),
* incognito: boolean,
* type: (!chrome.windows.WindowType|undefined),
* state: (!chrome.windows.WindowState|undefined),
* alwaysOnTop: boolean,
* sessionId: (string|undefined)
* }}
* @see https://developer.chrome.com/extensions/windows#type-Window
*/
chrome.windows.Window;
/**
* @enum {string}
* @see https://developer.chrome.com/extensions/windows#type-CreateType
*/
chrome.windows.CreateType = {
NORMAL: 'normal',
POPUP: 'popup',
PANEL: 'panel',
};
/**
* The windowId value that represents the absence of a chrome browser window.
* @type {number}
* @see https://developer.chrome.com/extensions/windows#type-WINDOW_ID_NONE
*/
chrome.windows.WINDOW_ID_NONE;
/**
* The windowId value that represents the <a href='windows#current-window'>current window</a>.
* @type {number}
* @see https://developer.chrome.com/extensions/windows#type-WINDOW_ID_CURRENT
*/
chrome.windows.WINDOW_ID_CURRENT;
/**
* Gets details about a window.
* @param {number} windowId
* @param {?{
populate: (boolean|undefined),
windowTypes: (!Array<!chrome.windows.WindowType>|undefined)
}|undefined}
* getInfo
* @param {function(!chrome.windows.Window):void} callback
* @see https://developer.chrome.com/extensions/windows#method-get
*/
chrome.windows.get = function(windowId, getInfo, callback) {};
/**
* Gets the <a href='#current-window'>current window</a>.
* @param {?{
populate: (boolean|undefined),
windowTypes: (!Array<!chrome.windows.WindowType>|undefined)
}|undefined}
* getInfo
* @param {function(!chrome.windows.Window):void} callback
* @see https://developer.chrome.com/extensions/windows#method-getCurrent
*/
chrome.windows.getCurrent = function(getInfo, callback) {};
/**
* Gets the window that was most recently focused &mdash; typically the window
* 'on top'.
* @param {?{
populate: (boolean|undefined),
windowTypes: (!Array<!chrome.windows.WindowType>|undefined)
}|undefined}
* getInfo
* @param {function(!chrome.windows.Window):void} callback
* @see https://developer.chrome.com/extensions/windows#method-getLastFocused
*/
chrome.windows.getLastFocused = function(getInfo, callback) {};
/**
* Gets all windows.
* @param {?{
populate: (boolean|undefined),
windowTypes: (!Array<!chrome.windows.WindowType>|undefined)
}|undefined}
* getInfo
* @param {function(!Array<!chrome.windows.Window>):void} callback
* @see https://developer.chrome.com/extensions/windows#method-getAll
*/
chrome.windows.getAll = function(getInfo, callback) {};
/**
* Creates (opens) a new browser window with any optional sizing, position, or
* default URL provided.
* @param {{
* url: ((string|!Array<string>)|undefined),
* tabId: (number|undefined),
* left: (number|undefined),
* top: (number|undefined),
* width: (number|undefined),
* height: (number|undefined),
* focused: (boolean|undefined),
* incognito: (boolean|undefined),
* type: (!chrome.windows.CreateType|undefined),
* state: (!chrome.windows.WindowState|undefined),
* setSelfAsOpener: (boolean|undefined)
* }=} createData
* @param {function((!chrome.windows.Window|undefined)):void=} callback
* @see https://developer.chrome.com/extensions/windows#method-create
*/
chrome.windows.create = function(createData, callback) {};
/**
* Updates the properties of a window. Specify only the properties that to be
* changed; unspecified properties are unchanged.
* @param {number} windowId
* @param {{
* left: (number|undefined),
* top: (number|undefined),
* width: (number|undefined),
* height: (number|undefined),
* focused: (boolean|undefined),
* drawAttention: (boolean|undefined),
* state: (!chrome.windows.WindowState|undefined)
* }} updateInfo
* @param {function(!chrome.windows.Window):void=} callback
* @see https://developer.chrome.com/extensions/windows#method-update
*/
chrome.windows.update = function(windowId, updateInfo, callback) {};
/**
* Removes (closes) a window and all the tabs inside it.
* @param {number} windowId
* @param {function():void=} callback
* @see https://developer.chrome.com/extensions/windows#method-remove
*/
chrome.windows.remove = function(windowId, callback) {};
/**
* Fired when a window is created.
* @type {!ChromeEvent}
* @see https://developer.chrome.com/extensions/windows#event-onCreated
*/
chrome.windows.onCreated;
/**
* Fired when a window is removed (closed).
* @type {!ChromeEvent}
* @see https://developer.chrome.com/extensions/windows#event-onRemoved
*/
chrome.windows.onRemoved;
/**
* Fired when the currently focused window changes. Returns
* <code>chrome.windows.WINDOW_ID_NONE</code> if all Chrome windows have lost
* focus. <b>Note:</b> On some Linux window managers,
* <code>WINDOW_ID_NONE</code> is always sent immediately preceding a switch
* from one Chrome window to another.
* @type {!ChromeEvent}
* @see https://developer.chrome.com/extensions/windows#event-onFocusChanged
*/
chrome.windows.onFocusChanged;
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment