JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 9
  • Score
    100M100P100Q7499F
  • License MIT

TypeScript wrapper for Chrome extension APIs

Package Exports

  • @adnbn/browser
  • @adnbn/browser/dist/index.cjs.js
  • @adnbn/browser/dist/index.esm.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@adnbn/browser) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

@adnbn/browser

A TypeScript promise-based wrapper for Chrome Extension APIs, supporting both Manifest V2 and V3 across Chrome, Opera, Edge, and other Chromium-based browsers.

Installation

npm install @adnbn/browser

Supported Chrome APIs

action

Documentation: Chrome Action API

A unified interface to the Chrome action API (chrome.action in Manifest V3, chrome.browserAction in Manifest V2), with Promise-based methods.

Methods

Events

disableAction

disableAction(tabId: number): Promise<void>

Disables the extension action for the specified tab. Falls back to chrome.browserAction.disable in Manifest V2.

enableAction

enableAction(tabId: number): Promise<void>

Enables the extension action for the specified tab. Falls back to chrome.browserAction.enable in Manifest V2.

getBadgeBgColor

getBadgeBgColor(tabId?: number): Promise<[number, number, number, number]>

Retrieves the badge background color for a given tab.

getBadgeText

getBadgeText(tabId?: number): Promise<string>

Retrieves the badge text for a given tab.

getBadgeTextColor [MV3]

getBadgeTextColor(tabId?: number): Promise<[number, number, number, number]>

Retrieves the badge text color for a given tab (Manifest V3 only).

getActionPopup

getActionPopup(tabId?: number): Promise<string>

Retrieves the popup URL set for the action in a given tab.

getActionTitle

getActionTitle(tabId?: number): Promise<string>

Retrieves the title set for the action in a given tab.

getActionUserSetting [MV3]

getActionUserSetting(): Promise<chrome.action.UserSettings>

Retrieves the user settings for the action (Manifest V3 only).

isActionEnabled

isActionEnabled(tabId: number): Promise<boolean>

Checks whether the action is enabled for the specified tab.

openActionPopup [MV3]

openActionPopup(windowId?: number): Promise<void>

Programmatically opens the action popup (Manifest V3 only).

setBadgeBgColor

setBadgeBgColor(color: string | [number, number, number, number], tabId?: number): Promise<void>

Sets the badge background color for a given tab.

setBadgeText

setBadgeText(text: string | number, tabId?: number): Promise<void>

Sets the badge text for a given tab.

setBadgeTextColor [MV3]

setBadgeTextColor(color: string | [number, number, number, number], tabId?: number): Promise<void>

Sets the badge text color for a given tab (Manifest V3 only).

setActionIcon

setActionIcon(details: chrome.action.TabIconDetails): Promise<void>

Sets the action icon for a tab or globally.

setActionPopup

setActionPopup(popup: string, tabId?: number): Promise<void>

Sets the popup URL for the action in a given tab.

setActionTitle

setActionTitle(title: string, tabId?: number): Promise<void>

Sets the title for the action in a given tab.

getDefaultPopup

getDefaultPopup(): string

Returns the default popup URL from the manifest (action.default_popup in MV3 or browser_action.default_popup in MV2).

clearBadgeText

clearBadgeText(tabId?: number): Promise<void>

Clears the badge text for a given tab.

onActionClicked

onActionClicked(callback: (tab: chrome.tabs.Tab) => void): () => void

Adds a listener for the action clicked event.

onActionUserSettingsChanged [MV3]

onActionUserSettingsChanged(callback: (settings: chrome.action.UserSettings) => void): () => void

Adds a listener for user settings changes on the action (Manifest V3 only).

alarms

Documentation: Chrome Alarms API

A promise-based wrapper for the Chrome alarms API.

Methods

Events

clearAlarm

clearAlarm(name: string): Promise<boolean>

Clears the alarm with the specified name, returning true if an existing alarm was found and cleared.

clearAllAlarm

clearAllAlarm(): Promise<boolean>

Clears all alarms, returning true if any alarms were found and cleared.

createAlarm

createAlarm(name: string, info: chrome.alarms.AlarmCreateInfo): Promise<void>

Creates a new alarm or updates an existing one with the given name and scheduling options.

getAlarm

getAlarm(name: string): Promise<chrome.alarms.Alarm>

Retrieves details for the alarm with the specified name.

getAllAlarm

getAllAlarm(): Promise<chrome.alarms.Alarm[]>

Retrieves all set alarms.

onAlarm

onAlarm(callback: (alarm: chrome.alarms.Alarm) => void): () => void

Adds a listener that triggers when an alarm goes off.

audio

Documentation: Chrome Audio API

A promise-based wrapper for the Chrome audio API.

Methods

Events

getAudioDevices

getAudioDevices(filter?: chrome.audio.DeviceFilter): Promise<chrome.audio.AudioDeviceInfo[]>

Retrieves the list of available audio devices, optionally filtered.

getAudioMute

getAudioMute(streamType: chrome.audio.StreamType): Promise<boolean>

Retrieves the mute state of the specified audio stream.

setAudioActiveDevices

setAudioActiveDevices(ids?: chrome.audio.DeviceIdLists): Promise<void>

Sets the list of active audio devices.

setAudioMute

setAudioMute(streamType: chrome.audio.StreamType, isMuted: boolean): Promise<void>

Sets the mute state for the specified audio stream.

setAudioProperties

setAudioProperties(id: string, properties?: chrome.audio.DeviceProperties): Promise<void>

Updates properties for the specified audio device.

onAudioDeviceListChanged

onAudioDeviceListChanged(callback: () => void): () => void

Adds a listener for changes in the list of audio devices.

onAudioLevelChanged

onAudioLevelChanged(callback: (level: number) => void): () => void

Adds a listener for changes in audio level.

onAudioMuteChanged

onAudioMuteChanged(callback: (isMuted: boolean) => void): () => void

Adds a listener for changes in audio mute state.

browsingData

Documentation: Chrome Browsing Data API

A promise-based wrapper for the Chrome browsingData API.

Methods

removeBrowsingData

removeBrowsingData(options: chrome.browsingData.RemovalOptions, dataToRemove: chrome.browsingData.DataTypeSet): Promise<void>

Clears the specified types of browsing data within the given time range.

removeAppcacheData

removeAppcacheData(options?: chrome.browsingData.RemovalOptions): Promise<void>

Clears the application cache.

removeCacheData

removeCacheData(options?: chrome.browsingData.RemovalOptions): Promise<void>

Clears the browser cache.

removeCacheStorageData

removeCacheStorageData(options?: chrome.browsingData.RemovalOptions): Promise<void>

Clears Cache Storage.

removeCookiesData

removeCookiesData(options?: chrome.browsingData.RemovalOptions): Promise<void>

Clears all cookies.

removeDownloadsData

removeDownloadsData(options?: chrome.browsingData.RemovalOptions): Promise<void>

Clears download history.

removeFileSystemsData

removeFileSystemsData(options?: chrome.browsingData.RemovalOptions): Promise<void>

Clears file system data.

removeFormData

removeFormData(options?: chrome.browsingData.RemovalOptions): Promise<void>

Clears data entered into forms.

removeHistoryData

removeHistoryData(options?: chrome.browsingData.RemovalOptions): Promise<void>

Clears browsing history.

removeIndexedDBData

removeIndexedDBData(options?: chrome.browsingData.RemovalOptions): Promise<void>

Clears IndexedDB data.

removeLocalStorageData

removeLocalStorageData(options?: chrome.browsingData.RemovalOptions): Promise<void>

Clears Local Storage data.

removePasswordsData

removePasswordsData(options?: chrome.browsingData.RemovalOptions): Promise<void>

Clears saved passwords.

removeServiceWorkersData

removeServiceWorkersData(options?: chrome.browsingData.RemovalOptions): Promise<void>

Clears Service Worker registrations.

removeWebSQLData

removeWebSQLData(options?: chrome.browsingData.RemovalOptions): Promise<void>

Clears WebSQL data.

getBrowsingDataSettings

getBrowsingDataSettings(): Promise<chrome.browsingData.SettingsResult>

Retrieves the current browsing data removal settings.

commands

Documentation: Chrome Commands API

A promise-based wrapper for the Chrome commands API.

Methods

Events

getAllCommands

getAllCommands(): Promise<chrome.commands.Command[]>

Retrieves all registered extension commands.

onCommand

onCommand(callback: (command: string) => void): () => void

Adds a listener for extension command events.

contextMenus

Documentation: Chrome Context Menus API

A promise-based wrapper for the Chrome contextMenus API.

Methods

Events

createContextMenus

createContextMenus(createProperties?: chrome.contextMenus.CreateProperties): Promise<void>

Creates a new context menu item with the specified properties.

removeContextMenus

removeContextMenus(menuItemId: string | number): Promise<void>

Removes the context menu item with the given ID.

removeAllContextMenus

removeAllContextMenus(): Promise<void>

Removes all context menu items added by the extension.

updateContextMenus

updateContextMenus(id: string | number, updateProperties?: Omit<chrome.contextMenus.CreateProperties, 'id'>): Promise<void>

Updates the specified context menu item with new properties.

onContextMenusClicked

onContextMenusClicked(callback: (info: chrome.contextMenus.OnClickData, tab: chrome.tabs.Tab) => void): () => void

Adds a listener that triggers when a context menu item is clicked.

cookies

Documentation: Chrome Cookies API

A promise-based wrapper for the Chrome cookies API.

Methods

Events

getCookie

getCookie(details: chrome.cookies.CookieDetails): Promise<chrome.cookies.Cookie | null>

Retrieves the cookie matching the specified details, or null if not found.

getAllCookie

getAllCookie(details?: chrome.cookies.GetAllDetails): Promise<chrome.cookies.Cookie[]>

Retrieves all cookies that match the given filter details.

getAllCookieStores

getAllCookieStores(): Promise<chrome.cookies.CookieStore[]>

Retrieves all cookie stores accessible to the extension.

getCookiePartitionKey [MV3]

getCookiePartitionKey(details: chrome.cookies.FrameDetails): Promise<chrome.cookies.CookiePartitionKey>

Retrieves the partition key for the cookie associated with the given frame (Manifest V3 only).

removeCookie

removeCookie(details: chrome.cookies.CookieDetails): Promise<chrome.cookies.CookieDetails>

Removes the cookie matching the specified details, returning the details of the removed cookie.

setCookie

setCookie(details: chrome.cookies.SetDetails): Promise<chrome.cookies.Cookie | null>

Sets a cookie with the given details, returning the created cookie or null on failure.

onCookieChanged

onCookieChanged(callback: (changeInfo: chrome.cookies.CookieChangeInfo) => void): () => void

Adds a listener that triggers when a cookie change event occurs.

documentscan

Documentation: Chrome Document Scan API

A promise-based wrapper for the Chrome documentScan API.

Methods

cancelDocScanning

cancelDocScanning(job: string): Promise<chrome.documentScan.CancelScanResponse<string>>

Cancels an ongoing document scan job.

closeDocScanner

closeDocScanner(scannerHandle: string): Promise<chrome.documentScan.CloseScannerResponse<string>>

Closes the document scanner associated with the specified scanner handle.

getDocScannerOptionGroups

getDocScannerOptionGroups(scannerHandle: string): Promise<chrome.documentScan.GetOptionGroupsResponse<string>>

Retrieves the available option groups for the specified document scanner.

getDocScannerList

getDocScannerList(filter: chrome.documentScan.DeviceFilter): Promise<chrome.documentScan.GetScannerListResponse>

Fetches a list of document scanners matching the given filter criteria.

openDocScanner

openDocScanner(scannerId: string): Promise<chrome.documentScan.OpenScannerResponse<string>>

Opens a document scanner by its ID, returning a handle for further operations.

readDocScanningData

readDocScanningData(job: string): Promise<chrome.documentScan.ReadScanDataResponse<string>>

Reads a chunk of data from an ongoing scan job.

docScanning

docScanning(options: chrome.documentScan.ScanOptions): Promise<chrome.documentScan.ScanResults>

Performs a document scan with the specified options and returns the scan results.

setDocScannerOptions

setDocScannerOptions(scannerHandle: string, options: chrome.documentScan.OptionSetting[]): Promise<chrome.documentScan.SetOptionsResponse<string>>

Sets the scanner options for the given scanner handle.

startDocScanning

startDocScanning(scannerHandle: string, options: chrome.documentScan.StartScanOptions): Promise<chrome.documentScan.StartScanResponse<string>>

Starts a scan operation on an open scanner with the provided settings.

downloads

Documentation: Chrome Downloads API

A promise-based wrapper for the Chrome downloads API.

Methods

Events

acceptDownloadDanger

acceptDownloadDanger(downloadId: number): Promise<void>

Accepts a dangerous download, allowing it to proceed.

cancelDownload

cancelDownload(downloadId: number): Promise<void>

Cancels the specified download.

download

download(options: chrome.downloads.DownloadOptions): Promise<number>

Initiates a download with the given options, resolving to the download ID. This function automatically uniquifies filenames on conflict and verifies the download's completion, throwing a BlockDownloadError if the download is interrupted or requires additional permissions.

eraseDownload

eraseDownload(query: chrome.downloads.DownloadQuery): Promise<number[]>

Removes the download history entries that match the given query, returning the list of erased download IDs.

getDownloadFileIcon

getDownloadFileIcon(downloadId: number, options: chrome.downloads.GetFileIconOptions): Promise<string>

Retrieves the icon for the downloaded file.

openDownload

openDownload(downloadId: number): void

Opens the downloaded file.

pauseDownload

pauseDownload(downloadId: number): Promise<void>

Pauses an active download.

removeDownloadFile

removeDownloadFile(downloadId: number): Promise<void>

Deletes the downloaded file from the local disk.

resumeDownload

resumeDownload(downloadId: number): Promise<void>

Resumes a paused download.

searchDownloads

searchDownloads(query: chrome.downloads.DownloadQuery): Promise<chrome.downloads.DownloadItem[]>

Searches for downloads matching the specified query.

setDownloadsUiOptions

setDownloadsUiOptions(enabled: boolean): Promise<void>

Enables or disables the browser's default download UI.

showDownloadFolder

showDownloadFolder(): void

Shows the default download folder in the file explorer.

showDownload

showDownload(downloadId: number): Promise<boolean>

Attempts to reveal the specified download in the file explorer, returning true if it exists.

findDownload

findDownload(downloadId: number): Promise<chrome.downloads.DownloadItem | undefined>

Retrieves the download item for the given download ID, if it exists.

isDownloadExists

isDownloadExists(downloadId: number): Promise<boolean | undefined>

Checks whether a download with the specified ID exists.

getDownloadState

getDownloadState(downloadId?: number): Promise<chrome.downloads.DownloadState | undefined>

Retrieves the state (in_progress, complete, or interrupted) of the given download.

onDownloadsChanged

onDownloadsChanged(callback: Parameters<typeof chrome.downloads.onChanged.addListener>[0]): () => void

Adds a listener triggered when a download's state or properties change.

onDownloadsCreated

onDownloadsCreated(callback: Parameters<typeof chrome.downloads.onCreated.addListener>[0]): () => void

Adds a listener triggered when a new download is created.

onDownloadsDeterminingFilename

onDownloadsDeterminingFilename(callback: Parameters<typeof chrome.downloads.onDeterminingFilename.addListener>[0]): () => void

Adds a listener triggered when a download's filename is being determined.

extension

Documentation: Chrome Extension API

A promise-based wrapper for the Chrome extension API.

Methods

getBackgroundPage

getBackgroundPage(): Window | null

Returns the window object of the extension's background page, or null if no background page exists.

getViews

getViews(properties?: chrome.extension.FetchProperties): Window[]

Retrieves all active extension views (e.g., background, popup, options), optionally filtered by the specified properties.

isAllowedFileSchemeAccess

isAllowedFileSchemeAccess(): Promise<boolean>

Checks if the extension has permission to access file system URLs (file://).

isAllowedIncognitoAccess

isAllowedIncognitoAccess(): Promise<boolean>

Determines whether the extension is allowed to operate in incognito mode.

setUpdateUrlData

setUpdateUrlData(data: string): void

Sets the data string to be sent as part of the extension's update check URL.

fileBrowserHandler

Documentation: Chrome File Browser Handler API

A wrapper for the Chrome fileBrowserHandler API to manage file browser actions.

Events

onExecute

onExecute(callback: (id: string, details: chrome.fileBrowserHandler.FileBrowserHandlerExecuteDetails) => void): () => void

Adds a listener triggered when the user invokes the extension via the file browser. Returns a function to remove the listener.

history

Documentation: Chrome History API

A promise-based wrapper for the Chrome history API to manage browser history.

Methods

Events

addHistoryUrl

addHistoryUrl(url: string): Promise<void>

Adds the specified URL to the browser history.

deleteAllHistory

deleteAllHistory(): Promise<void>

Deletes all entries from the browser history.

deleteRangeHistory

deleteRangeHistory(range: chrome.history.Range): Promise<void>

Removes all history entries within the specified time range.

deleteHistoryUrl

deleteHistoryUrl(details: chrome.history.Url): Promise<void>

Deletes all occurrences of the given URL from the history.

getHistoryVisits

getHistoryVisits(url: string): Promise<chrome.history.VisitItem[]>

Retrieves the visit history for the specified URL.

searchHistory

searchHistory(query: chrome.history.HistoryQuery): Promise<chrome.history.HistoryItem[]>

Searches the browser history with the given query, returning matching history items.

onHistoryVisited

onHistoryVisited(callback: (result: chrome.history.HistoryItem) => void): () => void

Adds a listener triggered when the browser records a page visit.

onHistoryVisitRemoved

onHistoryVisitRemoved(callback: (removed: chrome.history.RemoveInfo) => void): () => void

Adds a listener triggered when URLs are removed from the history, providing details of the removal.

i18n

Documentation: Chrome i18n API

A promise-based wrapper for the Chrome i18n API to manage localization.

Methods

detectI18Language

detectI18Language(text: string): Promise<chrome.i18n.LanguageDetectionResult>

Detects the primary language of the provided text.

getI18nAcceptLanguages

getI18nAcceptLanguages(): Promise<string[]>

Retrieves the user's preferred accept languages list.

getI18nUILanguage

getI18nUILanguage(): string | undefined

Returns the browser's UI language code.

getI18nMessage

getI18nMessage(key: string): string | undefined

Retrieves the localized message for the specified key.

getDefaultLanguage

getDefaultLanguage(): string | undefined

Extracts the default locale as declared in the extension manifest.

idle

Documentation: Chrome Idle API

A promise-based wrapper for the Chrome idle API to monitor user idle state.

Methods

Events

getIdleAutoLockDelay

getIdleAutoLockDelay(): Promise<number>

Retrieves the number of seconds before the system auto-locks due to inactivity.

queryIdleState

queryIdleState(detectionIntervalInSeconds: number): Promise<chrome.idle.IdleState>

Queries the user's idle state within the specified detection interval.

setIdleDetectionInterval

setIdleDetectionInterval(intervalInSeconds: number): void

Sets the interval, in seconds, used to detect idle state changes.

onIdleStateChanged

onIdleStateChanged(callback: (newState: chrome.idle.IdleState) => void): () => void

Adds a listener that fires when the user's idle state changes, returning a function to remove the listener.

management

Documentation: Chrome Management API

A promise-based wrapper for the Chrome management API to manage extensions and apps.

Methods

Events

createAppShortcut

createAppShortcut(id: string): Promise<void>

Creates a desktop shortcut for the specified app ID.

generateAppForLink(url: string, title: string): Promise<chrome.management.ExtensionInfo>

Generates a Chrome app for the given URL and title, returning its extension info.

getExtensionInfo

getExtensionInfo(id: string): Promise<chrome.management.ExtensionInfo>

Retrieves information about the extension or app with the specified ID.

getAllExtensionInfo

getAllExtensionInfo(): Promise<chrome.management.ExtensionInfo[]>

Retrieves information about all installed extensions and apps.

getPermissionWarningsById

getPermissionWarningsById(id: string): Promise<string[]>

Gets permission warning messages for the specified extension ID.

getPermissionWarningsByManifest

getPermissionWarningsByManifest(manifestStr: string): Promise<string[]>

Gets permission warning messages for the given manifest string.

getCurrentExtension

getCurrentExtension(): Promise<chrome.management.ExtensionInfo>

Retrieves information about the current extension.

launchExtensionApp

launchExtensionApp(id: string): Promise<void>

Launches the specified extension app by ID.

setExtensionEnabled

setExtensionEnabled(id: string, enabled: boolean): Promise<void>

Enables or disables the specified extension or app.

setExtensionLaunchType

setExtensionLaunchType(id: string, launchType: string): Promise<void>

Sets the launch type (e.g., regular, pinned) for the specified extension.

uninstallExtension

uninstallExtension(id: string, showConfirmDialog?: boolean): Promise<void>

Uninstalls the extension with the given ID, optionally showing a confirmation dialog.

uninstallCurrentExtension

uninstallCurrentExtension(showConfirmDialog?: boolean): Promise<void>

Uninstalls the current extension, optionally showing a confirmation dialog.

onExtensionDisabled

onExtensionDisabled(callback: (info: chrome.management.ExtensionInfo) => void): () => void

Fires when an extension or app is disabled.

onExtensionEnabled

onExtensionEnabled(callback: (info: chrome.management.ExtensionInfo) => void): () => void

Fires when an extension or app is enabled.

onExtensionInstalled

onExtensionInstalled(callback: (info: chrome.management.ExtensionInfo) => void): () => void

Fires when an extension or app is installed.

onExtensionUninstalled

onExtensionUninstalled(callback: (extensionId: string) => void): () => void

Fires when an extension or app is uninstalled, passing its ID.

notifications

Documentation: Chrome Notifications API

A promise-based wrapper for the Chrome notifications API to create and manage desktop notifications.

Methods

Events

clearNotification

clearNotification(notificationId: string): Promise<boolean>

Clears the notification with the specified ID, resolving to true if the notification existed and was cleared.

createNotification

createNotification(options: chrome.notifications.NotificationOptions, notificationId?: string): Promise<string>

Creates a notification with the given options and optional ID, returning the notification ID.

getAllNotification

getAllNotification(): Promise<{ [notificationId: string]: chrome.notifications.NotificationOptions }>

Retrieves all notifications currently displayed, returned as a map of notification IDs to their options.

getNotificationPermissionLevel

getNotificationPermissionLevel(): Promise<string>

Gets the current permission level for notifications.

updateNotification

updateNotification(options: chrome.notifications.NotificationOptions, notificationId: string): Promise<boolean>

Updates an existing notification with new options, resolving to true if the notification was updated.

isSupportNotifications

isSupportNotifications(): boolean

Checks if the Notifications API is supported in the current browser.

clearAllNotification

clearAllNotification(): Promise<void>

Clears all currently displayed notifications.

onNotificationsButtonClicked

onNotificationsButtonClicked(callback: (notificationId: string, buttonIndex: number) => void): () => void

Adds a listener for when a button on a notification is clicked, returning a function to remove the listener.

onNotificationsClicked

onNotificationsClicked(callback: (notificationId: string) => void): () => void

Adds a listener for when a notification itself is clicked.

onNotificationsClosed

onNotificationsClosed(callback: (notificationId: string, byUser: boolean) => void): () => void

Adds a listener for when a notification is closed, including whether it was closed by the user.

onNotificationsPermissionLevelChanged

onNotificationsPermissionLevelChanged(callback: (level: string) => void): () => void

Adds a listener for when notification permission level changes.

offscreen

Documentation: Chrome Offscreen API [MV3]

A promise-based wrapper for the Chrome offscreen API to create and manage offscreen documents.

Methods

createOffscreen

createOffscreen(parameters: chrome.offscreen.CreateParameters): Promise<void>

Creates an offscreen document with the specified parameters.

closeOffscreen

closeOffscreen(): Promise<void>

Closes the existing offscreen document.

hasOffscreen

hasOffscreen(): Promise<boolean>

Checks whether an offscreen document is currently open.

permissions

Documentation: Chrome Permissions API

A promise-based wrapper for the Chrome permissions API to request and manage extension permissions.

Methods

Events

containsPermissions

containsPermissions(permissions: chrome.permissions.Permissions): Promise<boolean>

Checks whether the extension has the specified permissions.

getAllPermissions

getAllPermissions(): Promise<chrome.permissions.Permissions>

Retrieves all granted permissions.

requestPermissions

requestPermissions(permissions: chrome.permissions.Permissions): Promise<boolean>

Prompts the user to grant additional permissions.

removePermissions

removePermissions(permissions: chrome.permissions.Permissions): Promise<boolean>

Removes the specified permissions if granted.

addHostAccessRequest [MV3]

addHostAccessRequest(request?: chrome.permissions.AddHostAccessRequest): Promise<void>

Requests additional host access at runtime (Manifest V3 only).

removeHostAccessRequest [MV3]

removeHostAccessRequest(request?: chrome.permissions.RemoveHostAccessRequest): Promise<void>

Clears a previously requested host access (Manifest V3 only).

onPermissionsAdded

onPermissionsAdded(callback: (permissions: chrome.permissions.Permissions) => void): () => void

Fires when new permissions are granted.

onPermissionsRemoved

onPermissionsRemoved(callback: (permissions: chrome.permissions.Permissions) => void): () => void

Fires when permissions are removed.

runtime

Documentation: Chrome Runtime API

A wrapper for the Chrome runtime API, including messaging, updates, and lifecycle events.

Methods

Events

connect

connect(extensionId: string, connectInfo?: object): chrome.runtime.Port

Opens a long-lived connection to another extension or app.

connectNative

connectNative(application: string): chrome.runtime.Port

Connects to a native application.

getContexts [MV3]

getContexts(filter: chrome.runtime.ContextFilter): Promise<chrome.runtime.ExtensionContext[]>

Retrieves extension contexts matching the filter (Manifest V3 only).

getManifest

getManifest(): chrome.runtime.Manifest

Returns the extension's manifest details.

getId

getId(): string

Returns the extension ID.

getManifestVersion

getManifestVersion(): 2 | 3

Retrieves the manifest version (2 or 3).

isManifestVersion3

isManifestVersion3(): boolean

Checks if the extension uses Manifest V3.

getPackageDirectoryEntry

getPackageDirectoryEntry(): Promise<FileSystemDirectoryEntry>

Gets the root directory of the extension package.

getPlatformInfo

getPlatformInfo(): Promise<chrome.runtime.PlatformInfo>

Returns information about the current platform.

getUrl

getUrl(path: string): string

Converts a relative path to an absolute extension URL.

openOptionsPage

openOptionsPage(): Promise<void>

Opens the extension's options page.

reload

reload(): void

Reloads the extension.

requestUpdateCheck

requestUpdateCheck(): Promise<{status: chrome.runtime.RequestUpdateCheckStatus; details?: chrome.runtime.UpdateCheckDetails;}>

Checks for an update and returns status and details.

restart [MV3]

restart(): void

Restarts the browser to apply updates (Manifest V3 only).

restartAfterDelay [MV3]

restartAfterDelay(seconds: number): Promise<void>

Schedules a browser restart after the given delay in seconds (Manifest V3 only).

sendMessage

sendMessage<M = any, R = any>(message: M): Promise<R>

Sends a single message to the extension or app and awaits a response.

setUninstallUrl

setUninstallUrl(url: string): Promise<void>

Sets a URL to be opened upon uninstallation.

onConnect

onConnect(callback: (port: chrome.runtime.Port) => void): () => void

Fires when a connection is made by another extension or content script.

onConnectExternal

onConnectExternal(callback: (port: chrome.runtime.Port) => void): () => void

Fires when an external extension connects.

onInstalled

onInstalled(callback: chrome.runtime.InstalledDetails): () => void

Fires when the extension is installed or updated.

onMessage

onMessage(callback: (message: any, sender: chrome.runtime.MessageSender) => void): () => void

Fires when a message is received.

onMessageExternal

onMessageExternal(callback: (message: any, sender: chrome.runtime.MessageSender) => void): () => void

Fires when an external extension sends a message.

onRestartRequired

onRestartRequired(callback: (reason: chrome.runtime.OnRestartRequiredReason) => void): () => void

Fires when the extension requires a browser restart.

onStartup

onStartup(callback: () => void): () => void

Fires when the browser starts up.

onSuspend

onSuspend(callback: () => void): () => void

Fires when the event page is about to be unloaded.

onSuspendCanceled

onSuspendCanceled(callback: () => void): () => void

Fires when a suspend is canceled.

onUpdateAvailable

onUpdateAvailable(callback: chrome.runtime.UpdateAvailableDetails): () => void

Fires when an update is available.

onUserScriptConnect

onUserScriptConnect(callback: (port: chrome.runtime.Port) => void): () => void

Fires when a user script establishes a connection.

onUserScriptMessage

onUserScriptMessage(callback: (message: any, sender: chrome.runtime.MessageSender) => void): () => void

Fires when a message arrives from a user script.

scripting

Documentation: Chrome Scripting API

A promise-based wrapper for the Chrome scripting API to inject scripts and styles, and manage content scripts.

Methods

executeScript

executeScript<T = any>(injection: chrome.scripting.ScriptInjection<any, T>): Promise<chrome.scripting.InjectionResult<chrome.scripting.Awaited<T>>[]>

Executes a script in the specified target and returns the injection results.

getRegisteredContentScripts

getRegisteredContentScripts(filter?: chrome.scripting.ContentScriptFilter): Promise<chrome.scripting.RegisteredContentScript[]>

Retrieves registered content scripts, optionally filtered by criteria.

insertCSS

insertCSS(injection: chrome.scripting.CSSInjection): Promise<void>

Injects CSS into specified target pages.

registerContentScripts

registerContentScripts(scripts: chrome.scripting.RegisteredContentScript[]): Promise<void>

Registers one or more content scripts programmatically.

removeCSS

removeCSS(injection: chrome.scripting.CSSInjection): Promise<void>

Removes previously injected CSS from specified target pages.

unregisterContentScripts

unregisterContentScripts(filter?: chrome.scripting.ContentScriptFilter): Promise<void>

Unregisters content scripts matching the given filter.

updateContentScripts

updateContentScripts(scripts: chrome.scripting.RegisteredContentScript[]): Promise<void>

Updates existing content scripts with new definitions.

isAvailableScripting

isAvailableScripting(): boolean

Checks if the Scripting API is available in the current browser.

Documentation:

A promise-based wrapper for the Chrome sidePanel API and the sidebarAction API in Firefox/Opera. Provides methods to get and set side panel options, behavior, path, title, and badge.

Methods

getSidebarOptions

getSidebarOptions(tabId?: number): Promise<chrome.sidePanel.PanelOptions>

Retrieves the panel options (such as path and other settings) for the specified tab's side panel. Throws an error if the Side Panel API is not supported. [MV3]

getSidebarBehavior

getSidebarBehavior(): Promise<chrome.sidePanel.PanelBehavior>

Fetches the current behavior settings of the side panel (e.g., default open state). Throws an error if the API is not supported. [MV3]

canOpenSidebar

canOpenSidebar(): boolean

Returns true if the side panel (Chrome MV3) or sidebar action (Firefox/Opera) APIs are available, indicating the extension can programmatically open the sidebar.

openSidebar

openSidebar(options: chrome.sidePanel.OpenOptions): Promise<void>

Opens the side panel with the specified options in Chrome (Manifest V3). Falls back to browser.sidebarAction.open() in Firefox. Logs a warning if unsupported.

setSidebarOptions

setSidebarOptions(options?: chrome.sidePanel.PanelOptions): Promise<void>

Sets new panel options (e.g., path) for the side panel in Chrome (Manifest V3). Logs a warning if unsupported. [MV3]

setSidebarBehavior

setSidebarBehavior(behavior?: chrome.sidePanel.PanelBehavior): Promise<void>

Updates the panel behavior settings in Chrome (Manifest V3). Logs a warning if unsupported. [MV3]

setSidebarPath

setSidebarPath(path: string, tabId?: number): Promise<void>

Sets the URL path of the sidebar panel. Uses Chrome setOptions in MV3 or sidebarAction.setPanel() in Firefox/Opera. Throws if unsupported.

getSidebarPath

getSidebarPath(tabId?: number): Promise<string | undefined>

Retrieves the current sidebar panel path from Chrome MV3 or parses it from the sidebarAction.getPanel() result in Firefox/Opera. Throws if unsupported.

setSidebarTitle

setSidebarTitle(title: string | number, tabId?: number): Promise<void>

Sets the sidebar title in Opera via opr.sidebarAction.setTitle(). Logs a warning if unsupported. [Opera]

setSidebarBadgeText

setSidebarBadgeText(text: string | number, tabId?: number): Promise<void>

Sets the sidebar badge text in Opera via opr.sidebarAction.setBadgeText(). Logs a warning if unsupported. [Opera]

setSidebarBadgeTextColor

setSidebarBadgeTextColor(color: string | number[] | chrome.action.ColorArray, tabId?: number): Promise<void>

Sets the sidebar badge text color in Opera via opr.sidebarAction.setBadgeTextColor(). Logs a warning if unsupported. [Opera]

setSidebarBadgeBgColor

setSidebarBadgeBgColor(color: string | number[] | chrome.action.ColorArray, tabId?: number): Promise<void>

Sets the sidebar badge background color in Opera via opr.sidebarAction.setBadgeBackgroundColor(). Logs a warning if unsupported. [Opera]

getSidebarTitle

getSidebarTitle(tabId?: number): Promise<string>

Retrieves the sidebar title in Opera via opr.sidebarAction.getTitle(). Throws an error if unsupported. [Opera]

getSidebarBadgeText

getSidebarBadgeText(tabId?: number): Promise<string>

Retrieves the sidebar badge text in Opera via opr.sidebarAction.getBadgeText(). Throws an error if unsupported. [Opera]

getSidebarBadgeTextColor

getSidebarBadgeTextColor(tabId?: number): Promise<chrome.action.ColorArray>

Retrieves the sidebar badge text color in Opera via opr.sidebarAction.getBadgeTextColor(). Throws an error if unsupported. [Opera]

getSidebarBadgeBgColor

getSidebarBadgeBgColor(tabId?: number): Promise<chrome.action.ColorArray>

Retrieves the sidebar badge background color in Opera via opr.sidebarAction.getBadgeBackgroundColor(). Throws an error if unsupported. [Opera]

tabCapture

Documentation: Chrome Tab Capture API

A promise-based wrapper for the Chrome tabCapture API to capture and retrieve tab media streams.

Methods

Events

createTabCapture

createTabCapture(options: chrome.tabCapture.CaptureOptions): Promise<MediaStream | null>

Captures the visible media stream of a tab based on the specified options. Resolves with the MediaStream if successful, or null otherwise. Rejects if an error occurs.

getCapturedTabs

getCapturedTabs(): Promise<chrome.tabCapture.CaptureInfo[]>

Retrieves details of all active tab capture sessions. Resolves with an array of CaptureInfo objects.

getCaptureMediaStreamId

getCaptureMediaStreamId(options: chrome.tabCapture.GetMediaStreamOptions): Promise<string>

Generates a media stream ID for capturing a tab via navigator.mediaDevices.getUserMedia. Resolves with the stream ID.

onCaptureStatusChanged

onCaptureStatusChanged(callback: (info: chrome.tabCapture.CaptureInfo) => void): () => void

Adds a listener for tab capture status changes (started, stopped, source changed). Returns a function to remove the listener.

tabs

Documentation: Chrome Tabs API

A promise-based wrapper for the Chrome tabs API, providing core tab operations, messaging, and utility methods.

Methods

Events

captureVisibleTab

captureVisibleTab(windowId: number, options: chrome.extensionTypes.ImageDetails): Promise<string>

Captures the visible area of the specified window as an image and returns a data URL string. Resolves with the image data:image/png;base64,....

connectTab

connectTab(tabId: number, connectInfo?: chrome.tabs.ConnectInfo): chrome.runtime.Port

Creates a long-lived connection to the specified tab for message passing. Returns a Port object.

createTab

createTab(properties: chrome.tabs.CreateProperties): Promise<chrome.tabs.Tab>

Creates a new tab with the given properties. Resolves with the created Tab object.

detectTabLanguage

detectTabLanguage(tabId: number): Promise<string>

Detects the language of the specified tab's content. Resolves with a language code (e.g., "en" or "und").

discardTab

discardTab(tabId: number): Promise<chrome.tabs.Tab>

Discards the specified tab to free up system resources. Resolves with the updated Tab object.

duplicateTab

duplicateTab(tabId: number): Promise<chrome.tabs.Tab | undefined>

Duplicates the specified tab, opening a copy. Resolves with the new Tab, or undefined if duplication fails.

getTab

getTab(tabId: number): Promise<chrome.tabs.Tab>

Retrieves information about the specified tab. Resolves with the Tab object.

getCurrentTab

getCurrentTab(): Promise<chrome.tabs.Tab | undefined>

Retrieves the tab in which the script is running (e.g., popup or content script). Resolves with the Tab or undefined if not called in a tab context.

getTabZoom

getTabZoom(tabId: number): Promise<number>

Gets the zoom factor of the specified tab. Resolves with the zoom level (e.g., 1.0).

getTabZoomSettings

getTabZoomSettings(tabId: number): Promise<chrome.tabs.ZoomSettings>

Retrieves the zoom settings of the specified tab. Resolves with a ZoomSettings object.

goTabBack

goTabBack(tabId: number): Promise<void>

Navigates the specified tab one step backward in its history.

goTabForward

goTabForward(tabId: number): Promise<void>

Navigates the specified tab one step forward in its history.

groupTabs

groupTabs(options: chrome.tabs.GroupOptions): Promise<number>

Groups one or more tabs into a single tab group. Resolves with the group ID.

highlightTab

highlightTab(highlightInfo: chrome.tabs.HighlightInfo): Promise<chrome.windows.Window>

Highlights (selects) the specified tabs within a window. Resolves with the updated Window.

moveTab

moveTab(tabId: number, moveProperties: chrome.tabs.MoveProperties): Promise<chrome.tabs.Tab>

Moves a tab to a new index or window. Resolves with the moved Tab.

moveTabs

moveTabs(tabIds: number[], moveProperties: chrome.tabs.MoveProperties): Promise<chrome.tabs.Tab[]>

Moves multiple tabs to new positions. Resolves with an array of updated Tab objects.

queryTabs

queryTabs(queryInfo?: chrome.tabs.QueryInfo): Promise<chrome.tabs.Tab[]>

Retrieves all tabs that match the given query filters. Resolves with an array of Tab objects.

reloadTab

reloadTab(tabId: number, bypassCache?: boolean): Promise<void>

Reloads the specified tab. If bypassCache is true, forces resource revalidation.

removeTab

removeTab(tabId: number): Promise<void>

Closes the specified tab.

sendTabMessage

sendTabMessage<M = any, R = any>(tabId: number, message: M, options?: chrome.tabs.MessageSendOptions): Promise<R>

Sends a one-time message to the content script in the specified tab. Resolves with the response.

setTabZoom

setTabZoom(tabId: number, zoomFactor: number): Promise<void>

Sets the zoom factor for the specified tab.

setTabZoomSettings

setTabZoomSettings(tabId: number, zoomSettings: chrome.tabs.ZoomSettings): Promise<void>

Updates the zoom settings for the specified tab.

ungroupTab

ungroupTab(tabIds: number | number[]): Promise<void>

Removes one or more tabs from their group.

updateTab

updateTab(tabId: number, updateProperties: chrome.tabs.UpdateProperties): Promise<chrome.tabs.Tab | undefined>

Updates properties of the specified tab (e.g., URL, active state). Resolves with the updated Tab or undefined.

executeScriptTab

executeScriptTab(tabId: number, details: chrome.extensionTypes.InjectDetails): Promise<any[]>

Injects JavaScript into the specified tab and returns execution results.

getTabUrl

getTabUrl(tabId: number): Promise<string>

Retrieves the URL of the specified tab. Rejects if the tab does not exist or has no URL.

getActiveTab

getActiveTab(): Promise<chrome.tabs.Tab>

Gets the currently active tab in the current window. Rejects if no active tab is found.

queryTabIds

queryTabIds(queryInfo?: chrome.tabs.QueryInfo): Promise<number[]>

Retrieves IDs of tabs matching the given query.

findTab

findTab(queryInfo?: chrome.tabs.QueryInfo): Promise<chrome.tabs.Tab | undefined>

Finds the first tab matching the query. Resolves with the Tab or undefined.

findTabById

findTabById(tabId: number): Promise<chrome.tabs.Tab | undefined>

Finds a tab by its ID, or resolves with undefined if not found.

updateTabAsSelected

updateTabAsSelected(tabId: number): Promise<chrome.tabs.Tab | undefined>

Highlights the specified tab, making it selected.

updateTabAsActive

updateTabAsActive(tabId: number): Promise<chrome.tabs.Tab | undefined>

Sets the specified tab as active.

openOrCreateTab

openOrCreateTab(tab: chrome.tabs.Tab): Promise<void>

If a tab with the same URL exists, activates it; otherwise, creates a new tab.

onTabActivated

onTabActivated(callback: (activeInfo: chrome.tabs.TabActiveInfo) => void): () => void

Fires when the active tab in a window changes. Returns a function to remove the listener.

onTabAttached

onTabAttached(callback: (info: chrome.tabs.TabAttachedInfo) => void): () => void

Fires when a tab is attached to a window. Returns a function to remove the listener.

onTabCreated

onTabCreated(callback: (tab: chrome.tabs.Tab) => void): () => void

Fires when a new tab is created. Returns a function to remove the listener.

onTabDetached

onTabDetached(callback: (info: chrome.tabs.TabDetachedInfo) => void): () => void

Fires when a tab is detached from a window. Returns a function to remove the listener.

onTabHighlighted

onTabHighlighted(callback: (highlightInfo: chrome.tabs.TabHighlightInfo) => void): () => void

Fires when the highlighted status of tabs in a window changes. Returns a function to remove the listener.

onTabMoved

onTabMoved(callback: (moveInfo: chrome.tabs.TabMoveInfo) => void): () => void

Fires when a tab is moved within a window. Returns a function to remove the listener.

onTabRemoved

onTabRemoved(callback: (tabId: number, removeInfo: chrome.tabs.TabRemoveInfo) => void): () => void

Fires when a tab is closed. Returns a function to remove the listener.

onTabReplaced

onTabReplaced(callback: (addedTabId: number, removedTabId: number) => void): () => void

Fires when one tab replaces another. Returns a function to remove the listener.

onTabUpdated

onTabUpdated(callback: (tabId: number, changeInfo: chrome.tabs.TabChangeInfo, tab: chrome.tabs.Tab) => void): () => void

Fires when a tab is updated (e.g., URL change, status). Returns a function to remove the listener.

onTabZoomChange

onTabZoomChange(callback: (zoomChangeInfo: chrome.tabs.ZoomChangeInfo) => void): () => void

Fires when the zoom level of a tab changes. Returns a function to remove the listener.

userScripts

Documentation: Chrome User Scripts API

A promise-based wrapper for the Chrome userScripts API, providing methods to configure worlds, register, retrieve, update, and unregister user scripts.

Methods

configureUserScriptsWorld

configureUserScriptsWorld(properties?: chrome.userScripts.WorldProperties): Promise<void>

Configures the execution context for user scripts by setting world properties. Must be called before registering or executing scripts.

getUserScripts

getUserScripts(ids?: string[]): Promise<chrome.userScripts.RegisteredUserScript[]>

Retrieves registered user scripts, optionally filtered by script IDs.

getUserScriptsWorldConfigs

getUserScriptsWorldConfigs(): Promise<chrome.userScripts.WorldProperties[]>

Returns configurations for all script execution worlds.

registerUserScripts

registerUserScripts(scripts: chrome.userScripts.RegisteredUserScript[]): Promise<void>

Registers one or more user scripts with the browser.

resetUserScriptsWorldConfigs

resetUserScriptsWorldConfigs(worldId: string): Promise<void>

Resets the configuration of a specific world back to default settings.

unregisterUserScripts

unregisterUserScripts(ids?: string[]): Promise<void>

Unregisters user scripts by ID. If no IDs provided, all scripts are unregistered.

updateUserScripts

updateUserScripts(scripts: chrome.userScripts.RegisteredUserScript[]): Promise<void>

Updates existing user scripts with new definitions or metadata.

webNavigation

Documentation: Chrome WebNavigation API

A promise-based wrapper for the Chrome webNavigation API, providing methods to retrieve frame information and listen to navigation events.

Methods

Events

getAllFrames

getAllFrames(tabId: number): Promise<chrome.webNavigation.GetAllFrameResultDetails[]>

Retrieves information about all frames in the specified tab.

getFrame

getFrame(details: chrome.webNavigation.GetFrameDetails): Promise<chrome.webNavigation.GetFrameResultDetails | null>

Retrieves information about a specific frame. Rejects if the frame is not found.

onWebNavigationBeforeNavigate

onWebNavigationBeforeNavigate(callback: (details: chrome.webNavigation.WebNavigationParentedCallbackDetails) => void, filters?: chrome.webNavigation.WebNavigationEventFilter): () => void

Adds a listener that is called before a navigation occurs.

onWebNavigationCommitted

onWebNavigationCommitted(callback: (details: chrome.webNavigation.WebNavigationTransitionCallbackDetails) => void, filters?: chrome.webNavigation.WebNavigationEventFilter): () => void

Adds a listener that is called when a navigation is committed.

onWebNavigationCompleted

onWebNavigationCompleted(callback: (details: chrome.webNavigation.WebNavigationFramedCallbackDetails) => void, filters?: chrome.webNavigation.WebNavigationEventFilter): () => void

Adds a listener that is called when a document, including its resources, is completely loaded.

onWebNavigationCreatedNavigationTarget

onWebNavigationCreatedNavigationTarget(callback: (details: chrome.webNavigation.WebNavigationSourceCallbackDetails) => void, filters?: chrome.webNavigation.WebNavigationEventFilter): () => void

Adds a listener that is called when a new window or tab is created to host a navigation.

onWebNavigationDOMContentLoaded

onWebNavigationDOMContentLoaded(callback: (details: chrome.webNavigation.WebNavigationFramedCallbackDetails) => void, filters?: chrome.webNavigation.WebNavigationEventFilter): () => void

Adds a listener that is called when the page's DOM is fully constructed.

onWebNavigationErrorOccurred

onWebNavigationErrorOccurred(callback: (details: chrome.webNavigation.WebNavigationFramedErrorCallbackDetails) => void, filters?: chrome.webNavigation.WebNavigationEventFilter): () => void

Adds a listener that is called when an error occurs and a navigation is aborted.

onWebNavigationHistoryStateUpdated

onWebNavigationHistoryStateUpdated(callback: (details: chrome.webNavigation.WebNavigationTransitionCallbackDetails) => void, filters?: chrome.webNavigation.WebNavigationEventFilter): () => void

Adds a listener that is called when a frame's history is updated to a new URL.

onWebNavigationReferenceFragmentUpdated

onWebNavigationReferenceFragmentUpdated(callback: (details: chrome.webNavigation.WebNavigationTransitionCallbackDetails) => void, filters?: chrome.webNavigation.WebNavigationEventFilter): () => void

Adds a listener that is called when the reference fragment of a frame is updated.

onWebNavigationTabReplaced

onWebNavigationTabReplaced(callback: (details: chrome.webNavigation.WebNavigationReplacementCallbackDetails) => void): () => void

Adds a listener that is called when a tab is replaced by another tab.

webRequest

Documentation: Chrome WebRequest API

A promise-based wrapper for the Chrome webRequest API, providing methods to observe and modify network requests through various lifecycle events.

Methods

Events

handlerWebRequestBehaviorChanged

handlerWebRequestBehaviorChanged(): Promise<void>

Notifies the browser that the extension's webRequest handling logic (filters or listeners) has changed, prompting the browser to update its internal event routing.

onWebRequestAuthRequired

onWebRequestAuthRequired(callback: (details: chrome.webRequest.OnAuthRequiredDetails, asyncCallback?: (response: chrome.webRequest.BlockingResponse) => void) => chrome.webRequest.BlockingResponse | void, filter: chrome.webRequest.RequestFilter, extraInfoSpec?: string[]): () => void

Adds a listener for authentication challenges. You can provide credentials, cancel the request, or take no action. Returns a function to remove the listener.

onWebRequestBeforeRedirect

onWebRequestBeforeRedirect(callback: (details: chrome.webRequest.OnBeforeRedirectDetails) => void, filter: chrome.webRequest.RequestFilter, extraInfoSpec?: string[]): () => void

Adds a listener fired before a server-initiated redirect occurs. Returns a function to remove the listener.

onWebRequestBeforeRequest

onWebRequestBeforeRequest(callback: (details: chrome.webRequest.OnBeforeRequestDetails) => chrome.webRequest.BlockingResponse | void, filter: chrome.webRequest.RequestFilter, extraInfoSpec?: string[]): () => void

Adds a listener fired before a request is made. Can cancel or redirect the request by returning a BlockingResponse. Returns a function to remove the listener.

onWebRequestBeforeSendHeaders

onWebRequestBeforeSendHeaders(callback: (details: chrome.webRequest.OnBeforeSendHeadersDetails) => chrome.webRequest.BlockingResponse | void, filter: chrome.webRequest.RequestFilter, extraInfoSpec?: string[]): () => void

Adds a listener fired before HTTP request headers are sent. Can modify or cancel the request headers. Returns a function to remove the listener.

onWebRequestSendHeaders

onWebRequestSendHeaders(callback: (details: chrome.webRequest.OnSendHeadersDetails) => void, filter: chrome.webRequest.RequestFilter, extraInfoSpec?: string[]): () => void

Adds a listener fired after HTTP request headers are sent. Returns a function to remove the listener.

onWebRequestHeadersReceived

onWebRequestHeadersReceived(callback: (details: chrome.webRequest.OnHeadersReceivedDetails) => chrome.webRequest.BlockingResponse | void, filter: chrome.webRequest.RequestFilter, extraInfoSpec?: string[]): () => void

Adds a listener fired when HTTP response headers are received. Can modify response headers or cancel the request. Returns a function to remove the listener.

onWebRequestResponseStarted

onWebRequestResponseStarted(callback: (details: chrome.webRequest.OnResponseStartedDetails) => void, filter: chrome.webRequest.RequestFilter, extraInfoSpec?: string[]): () => void

Adds a listener fired when the first byte of the response body is received. Returns a function to remove the listener.

onWebRequestCompleted

onWebRequestCompleted(callback: (details: chrome.webRequest.OnCompletedDetails) => void, filter: chrome.webRequest.RequestFilter, extraInfoSpec?: string[]): () => void

Adds a listener fired when a request is completed successfully. Returns a function to remove the listener.

onWebRequestErrorOccurred

onWebRequestErrorOccurred(callback: (details: chrome.webRequest.OnErrorOccurredDetails) => void, filter: chrome.webRequest.RequestFilter, extraInfoSpec?: string[]): () => void

Adds a listener fired when a request encounters an error and is aborted. Returns a function to remove the listener.