What's New in Extensions?
For information on how to use experimental APIs, see the chrome.experimental.* APIs page.
What's New in Extensions?
This page lists the API and manifest changes
made in recent releases.
Google Chrome 12
Additions to existing APIs
- Two new
chrome.extension
methods—isAllowedFileSchemeAccess() and
isAllowedIncognitoAccess()—let you
determine whether your extension has increased access,
which the user specifies using the extensions management page
(chrome://extensions).
- The chrome.windows.create()
method can now take a
focused
value.
Previously, all new windows had the keyboard focus;
now you can create windows without interrupting the user's typing.
- If the manifest specifies "experimental" permission,
your extension can specify "panel" as the value of
the
type
field in
the chrome.windows.create()
method
or the Window type.
- The onChanged
event of
chrome.cookies
now has a cause
parameter.
- The
chrome.contextMenus
create() and
update()
methods now let you specify a context value of "frame".
Google Chrome 11
Changes to existing APIs
-
For security reasons, you can no longer call
chrome.tab.captureVisibleTab()
on just any tab.
Instead, you now must have
host permission
for the URL displayed by that tab.
To get the previous behavior,
specify
<all_urls>
for the host permission.
Additions to existing APIs
-
The management API's
ExtensionInfo object
now has a
homepageUrl
property.
- The management API now lets you get the icons of
disabled apps and extensions.
Also, you can now modify the regular icon's URL
to get its disabled equivalent.
See IconInfo for details.
- The cookies API
set()
and remove() methods
can now take callbacks.
Google Chrome 10
Manifest changes
- The new background permission
extends the life of Chrome,
allowing your extension or app
to run even when Chrome has no windows open.
Additions to existing APIs
Google Chrome 9
New APIs
- The omnibox API allows you to
register a keyword with Chrome's address bar.
Manifest changes
- The homepage_url field
lets you specify the extension or app's homepage.
Additions to existing APIs
- The Tab object
now has a
pinned
property
that's reflected in various chrome.tabs
methods.
For example,
you can create
a pinned tab.
- The chrome.windows.create()
method can now take a list of URLs,
letting you create multiple tabs in the new window.
- The new
chrome.management.get() method
lets you get information about the specified extension or app.
Google Chrome 8
We took a break for Chrome 8.
No API or manifest changes worth noting.
Google Chrome 7
New APIs
- All users can now install
apps;
packaged apps can use extension APIs.
- The management API
lets you work with installed apps and extensions.
Manifest changes
- Introduced split incognito
mode as the default for installable web apps
(also available to extensions).
- The tabs API
create()
and update()
methods
no longer require the "tabs" permission, removing one common cause of
scary dialogs.
Google Chrome 6
New APIs
- The context menus API allows you to
add context menus to pages or specific objects on a page.
- The cookies API allows you to manage the
browser's cookie system.
- The idle API allows you to detect when the
machine's idle state changes.
Additions to existing APIs
Manifest changes
- The geolocation permission
gives an extension access to the user's physical location.
- Match patterns can now select all
schemes or all URLs.
- Access to file:/// URLs no longer triggers the "access to your machine"
security warning, but now requires user opt-in from the extensions
management page.
API reference: chrome.apiname
Properties
getLastError
chrome.extensionlastError
Methods
method name
void
chrome.module.methodName(,
)
Undocumented.
A description from the json schema def of the function goes here.
Parameters
Returns
Callback function
The callback parameter should specify a function
that looks like this:
If you specify the callback parameter, it should
specify a function that looks like this:
function(Type param1, Type param2) {...};
This function was added in version .
If you require this function, the manifest key
minimum_chrome_version
can ensure that your extension won't be run in an earlier browser version.
Events
event name
chrome.bookmarksonEvent.addListener(function(Type param1, Type param2) {...});
Undocumented.
A description from the json schema def of the event goes here.