This module provides information about your extension and the environment it's running in.
It also provides messaging APIs enabling you to:
- Communicate between different parts of your extension. For advice on choosing between the messaging options, see Choosing between one-off messages and connection-based messaging.
- Communicate with other extensions.
- Communicate with native applications.
Types
runtime.Port
- Represents one end of a connection between two specific contexts, which can be used to exchange messages.
runtime.MessageSender
-
Contains information about the sender of a message or connection request.
runtime.PlatformOs
- Identifies the browser's operating system.
runtime.PlatformArch
- Identifies the browser's processor architecture.
runtime.PlatformInfo
- Contains information about the platform the browser is running on.
runtime.RequestUpdateCheckStatus
- Result of a call to
runtime.requestUpdateCheck()
. runtime.OnInstalledReason
- The reason that the
runtime.onInstalled
event is being dispatched. runtime.OnRestartRequiredReason
- The reason that the
runtime.onRestartRequired
event is being dispatched.
Properties
runtime.lastError
- This value is set when an asynchronous function has an error condition that it needs to report to its caller.
runtime.id
- The ID of the extension.
Functions
runtime.getBackgroundPage()
- Retrieves the Window object for the background page running inside the current extension.
runtime.openOptionsPage()
-
Opens your extension's options page.
runtime.getManifest()
- Gets the complete manifest.json file, serialized as an object.
runtime.getURL()
- Given a relative path from the manifest.json to a resource packaged with the extension, returns a fully-qualified URL.
runtime.setUninstallURL()
- Sets a URL to be visited when the extension is uninstalled.
runtime.reload()
- Reloads the extension.
runtime.requestUpdateCheck()
- Checks for updates to this extension.
runtime.connect()
- Establishes a connection from a content script to the main extension process, or from one extension to a different extension.
runtime.connectNative()
-
Connects the extension to a native application on the user's computer.
runtime.sendMessage()
- Sends a single message to event listeners within your extension or a different extension. Similar to
runtime.connect
but only sends a single message, with an optional response. runtime.sendNativeMessage()
- Sends a single message from an extension to a native application.
runtime.getPlatformInfo()
- Returns information about the current platform.
runtime.getBrowserInfo()
- Returns information about the browser in which this extension is installed.
runtime.getPackageDirectoryEntry()
- Returns a DirectoryEntry for the package directory.
Events
runtime.onStartup
- Fired when a profile that has this extension installed first starts up. This event is not fired when an incognito profile is started.
runtime.onInstalled
- Fired when the extension is first installed, when the extension is updated to a new version, and when the browser is updated to a new version.
runtime.onSuspend
- Sent to the event page just before the extension is unloaded. This gives the extension an opportunity to do some cleanup.
runtime.onSuspendCanceled
- Sent after
runtime.onSuspend
to indicate that the extension won't be unloaded after all. runtime.onUpdateAvailable
- Fired when an update is available, but isn't installed immediately because the extension is currently running.
runtime.onBrowserUpdateAvailable
- Fired when an update for the browser is available, but isn't installed immediately because a browser restart is required.
runtime.onConnect
- Fired when a connection is made with either an extension process or a content script.
runtime.onConnectExternal
- Fired when a connection is made with another extension.
runtime.onMessage
- Fired when a message is sent from either an extension process or a content script.
runtime.onMessageExternal
- Fired when a message is sent from another extension. Cannot be used in a content script.
runtime.onRestartRequired
- Fired when the device needs to be restarted.
Browser compatibility
Desktop | Mobile | ||||
---|---|---|---|---|---|
MessageSender | Chrome Full support 26 | Edge Full support 14 | Firefox
Full support
45 | Opera Full support 15 | Firefox Android
Full support
48 |
OnInstalledReason | Chrome
Full support
Yes | Edge
Full support
14 | Firefox Full support 45 | Opera
Full support
Yes | Firefox Android Full support 48 |
OnRestartRequiredReason | Chrome Full support Yes | Edge No support No | Firefox Full support 45 | Opera Full support Yes | Firefox Android Full support 48 |
PlatformArch | Chrome Full support Yes | Edge No support No | Firefox Full support 45 | Opera Full support Yes | Firefox Android Full support 48 |
PlatformInfo | Chrome Full support Yes | Edge No support No | Firefox Full support 45 | Opera Full support Yes | Firefox Android Full support 48 |
PlatformNaclArch | Chrome Full support Yes | Edge No support No | Firefox Full support 45 | Opera Full support Yes | Firefox Android Full support 48 |
PlatformOs | Chrome Full support Yes | Edge No support No | Firefox Full support 45 | Opera Full support Yes | Firefox Android Full support 48 |
Port | Chrome Full support 26 | Edge Full support 15 | Firefox Full support 45 | Opera Full support 15 | Firefox Android Full support 48 |
RequestUpdateCheckStatus | Chrome Full support Yes | Edge No support No | Firefox No support No | Opera Full support Yes | Firefox Android No support No |
connect | Chrome Full support 26 | Edge Full support 14 | Firefox Full support 45 | Opera Full support 15 | Firefox Android Full support 48 |
connectNative | Chrome Full support 29 | Edge Full support 15 | Firefox Full support 50 | Opera Full support 16 | Firefox Android No support No |
getBackgroundPage | Chrome Full support 22 | Edge Full support 14 | Firefox
Full support
45 | Opera Full support 15 | Firefox Android
Full support
48 |
getBrowserInfo | Chrome No support No | Edge No support No | Firefox Full support 51 | Opera No support No | Firefox Android Full support 51 |
getManifest | Chrome Full support 22 | Edge Full support 14 | Firefox Full support 45 | Opera Full support 15 | Firefox Android Full support 48 |
getPackageDirectoryEntry | Chrome Full support 29 | Edge No support No | Firefox No support No | Opera Full support 16 | Firefox Android No support No |
getPlatformInfo | Chrome Full support 29 | Edge No support No | Firefox Full support 45 | Opera Full support 16 | Firefox Android Full support 48 |
getURL | Chrome Full support 22 | Edge Full support 14 | Firefox Full support 45 | Opera Full support 15 | Firefox Android Full support 48 |
id | Chrome Full support 22 | Edge Full support 14 | Firefox Full support 45 | Opera Full support 15 | Firefox Android Full support 48 |
lastError | Chrome
Full support
Yes | Edge Full support 14 | Firefox Full support 47 | Opera
Full support
Yes | Firefox Android Full support 48 |
onBrowserUpdateAvailable | Chrome Full support 27 | Edge No support No | Firefox No support No | Opera Full support 15 | Firefox Android No support No |
onConnect | Chrome Full support 26 | Edge Full support 14 | Firefox Full support 45 | Opera Full support 15 | Firefox Android Full support 48 |
onConnectExternal | Chrome Full support 26 | Edge No support No | Firefox Full support 54 | Opera Full support 15 | Firefox Android Full support 54 |
onInstalled | Chrome Full support 22 | Edge Full support 14 | Firefox
Full support
52 | Opera Full support 15 | Firefox Android
Full support
52 |
onMessage | Chrome Full support 26 | Edge Full support 14 | Firefox Full support 45 | Opera Full support 15 | Firefox Android Full support 48 |
onMessageExternal | Chrome Full support 26 | Edge No support No | Firefox Full support 54 | Opera Full support 15 | Firefox Android Full support 54 |
onRestartRequired | Chrome Full support 29 | Edge No support No | Firefox No support No | Opera Full support 16 | Firefox Android No support No |
onStartup | Chrome Full support 23 | Edge No support No | Firefox Full support 52 | Opera Full support 15 | Firefox Android Full support 52 |
onSuspend | Chrome Full support 22 | Edge No support No | Firefox No support No | Opera Full support 15 | Firefox Android No support No |
onSuspendCanceled | Chrome Full support 22 | Edge No support No | Firefox No support No | Opera Full support 15 | Firefox Android No support No |
onUpdateAvailable | Chrome Full support 25 | Edge No support No | Firefox Full support 51 | Opera Full support 15 | Firefox Android Full support 51 |
openOptionsPage | Chrome Full support 42 | Edge No support No | Firefox Full support 48 | Opera Full support 29 | Firefox Android Full support 57 |
reload | Chrome Full support 25 | Edge Full support 15 | Firefox Full support 51 | Opera Full support 15 | Firefox Android Full support 51 |
requestUpdateCheck | Chrome Full support 25 | Edge No support No | Firefox No support No | Opera Full support 15 | Firefox Android No support No |
sendMessage | Chrome Full support 26 | Edge
Full support
14 | Firefox Full support 45 | Opera Full support 15 | Firefox Android Full support 48 |
sendNativeMessage | Chrome Full support 29 | Edge Full support 15 | Firefox Full support 50 | Opera Full support 16 | Firefox Android No support No |
setUninstallURL | Chrome Full support 41 | Edge Full support 15 | Firefox Full support 47 | Opera Full support 28 | Firefox Android Full support 48 |
Thank you!
Report sent
What happens next?
Our team will review your report. Once we verify the information you have supplied we will update this browser compatability table accordingly.
Can I keep track of my report?
You can join the GitHub repository to see updates and commits for this table data:
Tell us what’s wrong with this table
Our goal is to provide accurate, real values for all our compatibility data tables. Notifying MDN of inaccurate data or supplying new data pushes us further towards our goal of providing 100% real values to the developer community.
Thank you for helping.
Legend
- Full support
- Full support
- No support
- No support
- Non-standard. Expect poor cross-browser support.
- Non-standard. Expect poor cross-browser support.
- Deprecated. Not for use in new websites.
- Deprecated. Not for use in new websites.
- See implementation notes.
- See implementation notes.
Example extensions
This API is based on Chromium's chrome.runtime
API. This documentation is derived from runtime.json
in the Chromium code.
Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.