{"id":23239422,"url":"https://github.com/r32/chrome-extension-v3","last_synced_at":"2026-01-19T06:00:59.607Z","repository":{"id":78669558,"uuid":"582101234","full_name":"R32/chrome-extension-v3","owner":"R32","description":"Extern type definitions for Chrome Extension V3","archived":false,"fork":false,"pushed_at":"2024-06-07T08:04:50.000Z","size":149,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-05T22:13:31.662Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Haxe","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/R32.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-12-25T17:19:33.000Z","updated_at":"2024-06-07T08:04:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"64e2a5cb-805f-44f9-82a2-293891b34d96","html_url":"https://github.com/R32/chrome-extension-v3","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/R32/chrome-extension-v3","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/R32%2Fchrome-extension-v3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/R32%2Fchrome-extension-v3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/R32%2Fchrome-extension-v3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/R32%2Fchrome-extension-v3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/R32","download_url":"https://codeload.github.com/R32/chrome-extension-v3/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/R32%2Fchrome-extension-v3/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28562228,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-19T03:31:16.861Z","status":"ssl_error","status_checked_at":"2026-01-19T03:31:15.069Z","response_time":67,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-19T04:28:08.847Z","updated_at":"2026-01-19T06:00:59.540Z","avatar_url":"https://github.com/R32.png","language":"Haxe","funding_links":[],"categories":[],"sub_categories":[],"readme":"chrome extension v3\n------\n\nExtern type definitions for Chrome Extension\n\n(I haven't tested it yet, there will be a lot of bugs)\n\n### summary\n\n- [x] accessibilityFeatures\n\n  Use the `chrome.accessibilityFeatures` API to manage Chrome's accessibility features.\n  This API relies on the [ChromeSetting prototype of the type API](https://developer.chrome.com/docs/extensions/reference/types/#ChromeSetting)\n  for getting and setting individual accessibility features.\n  In order to get feature states the extension must request `accessibilityFeatures.read` permission.\n  For modifying feature state, the extension needs `accessibilityFeatures.modify` permission.\n  Note that `accessibilityFeatures.modify` does not imply `accessibilityFeatures.read` permission.\n\n  ```\n  @chrome-permission: accessibilityFeatures.modify\n  @chrome-permission: accessibilityFeatures.read\n  ```\n\n- [x] action\n\n  Use the `chrome.action` API to control the extension's icon in the Google Chrome toolbar.\n\n  ```\n  @since Chrome 88\n  @chrome-manifest action\n  @chrome-min-manifest MV3\n  ```\n\n- [x] alarms\n\n  Use the `chrome.alarms` API to schedule code to run periodically\n  or at a specified time in the future.\n\n  ```\n  @chrome-permission alarms\n  ```\n\n- [x] audio\n\n  The `chrome.audio` API is provided to allow users to get information about\n  and control the audio devices attached to the system. This API is currently\n  only available in kiosk mode for ChromeOS.\n\n  ```\n  @since Chrome 59\n  @chrome-permission audio\n  @chrome-platform chromeos\n  @chrome-platform lacros\n  ```\n\n- [ ] automation\n\n  The `chrome.automation` API allows developers to access the automation (accessibility) tree for the browser.\n  The tree resembles the DOM tree, but only exposes the _semantic_ structure of a page.\n  It can be used to programmatically interact with a page by examining names, roles, and states,\n  listening for events, and performing actions on nodes.\n\n  ```\n  @alpha\n  @chrome-manifest automation\n  @chrome-channel dev\n  @chrome-disallow-service-workers\n  ```\n\n- [x] bookmarks\n\n  Use the `chrome.bookmarks` API to create, organize, and otherwise manipulate bookmarks.\n  Also see [Override Pages](https://developer.chrome.com/docs/extensions/override),\n  which you can use to create a custom Bookmark Manager page.\n\n  ```\n  @chrome-permission bookmarks\n  ```\n\n- [x] browsingData\n\n  Use the `chrome.browsingData` API to remove browsing data from a user's local profile.\n\n  ```\n  @chrome-permission browsingData\n  ```\n\n- [ ] certificateProvider\n\n  Use this API to expose certificates to the platform which can use these certificates for TLS authentications.\n\n  ```\n  @since Chrome 46\n  @chrome-permission certificateProvider\n  @chrome-platform chromeos\n  @chrome-platform lacros\n  ```\n\n- [x] commands\n\n  Use the commands API to add keyboard shortcuts that trigger actions in your extension,\n  for example, an action to open the browser action or send a command to the extension.\n\n  ```\n  @chrome-manifest commands\n  ```\n\n- [x] contentScripts (@since Chrome 88)\n\n  Stub namespace for the \"content\\_scripts\" manifest key.\n\n- [x] contentSettings\n\n  Use the `chrome.contentSettings` API to change settings that control whether\n  websites can use features such as cookies, JavaScript, and plugins. More generally speaking,\n  content settings allow you to customize Chrome's behavior on a per-site basis instead of globally.\n\n  ```\n  @chrome-permission contentSettings\n  ```\n\n- [x] contextMenus\n\n  Use the `chrome.contextMenus` API to add items to Google Chrome's context menu.\n  You can choose what types of objects your context menu additions apply to,\n  such as images, hyperlinks, and pages.\n\n  ```\n  @chrome-permission contextMenus\n  ```\n\n- [x] cookies\n\n  Use the `chrome.cookies` API to query and modify cookies, and to be notified when they change.\n\n  ```\n  @chrome-permission cookies\n  ```\n\n- [x] debugger\n\n  The `chrome.debugger` API serves as an alternate transport for\n  Chrome's [remote debugging protocol](https://developer.chrome.com/devtools/docs/debugger-protocol).\n  Use `chrome.debugger` to attach to one or more tabs to instrument network interaction,\n  debug JavaScript, mutate the DOM and CSS, etc. Use the Debuggee `tabId` to target tabs with\n  sendCommand and route events by `tabId` from onEvent callbacks.\n\n  ```\n  @chrome-permission debugger\n  ```\n\n- [x] declarativeContent\n\n  Use the `chrome.declarativeContent` API to take actions depending on the content of a page,\n  without requiring permission to read the page's content.\n\n  ```\n  @chrome-permission declarativeContent\n  ```\n\n- [x] declarativeNetRequest\n\n  The `chrome.declarativeNetRequest` API is used to block or modify network requests\n  by specifying declarative rules. This lets extensions modify network requests without\n  intercepting them and viewing their content, thus providing more privacy.\n\n  ```\n  @since Chrome 84\n  @chrome-permission declarativeNetRequest\n  @chrome-permission declarativeNetRequestWithHostAccess\n  ```\n\n- [x] desktopCapture\n\n  Desktop Capture API that can be used to capture content of screen, individual windows or tabs.\n\n  ```\n  @chrome-permission desktopCapture\n  ```\n\n- [ ] devtools.inspectedWindow\n\n  Use the `chrome.devtools.inspectedWindow` API to interact with the inspected window:\n  obtain the tab ID for the inspected page, evaluate the code in the context of\n  the inspected window, reload the page, or obtain the list of resources within the page.\n\n  ```\n  @chrome-manifest devtools_page\n  ```\n\n- [ ] devtools.network\n\n  Use the `chrome.devtools.network` API to retrieve the information about\n  network requests displayed by the Developer Tools in the Network panel.\n\n  ```\n  @chrome-manifest devtools_page\n  ```\n\n- [ ] devtools.panels\n\n  Use the `chrome.devtools.panels` API to integrate your extension into\n  Developer Tools window UI: create your own panels, access existing panels, and add sidebars.\n\n  ```\n  @chrome-manifest devtools_page\n  ```\n\n- [ ] devtools.recorder\n\n  Use the `chrome.devtools.recorder` API to customize the Recorder panel in DevTools.\n\n  ```\n  @since Chrome 105\n  ```\n\n- [x] dns\n\n  Use the `chrome.dns` API for dns resolution.\n\n  ```\n  @alpha\n  @chrome-permission dns\n  @chrome-channel dev\n  ```\n\n- [ ] documentScan\n\n  Use the `chrome.documentScan` API to discover and retrieve images from\n  attached paper document scanners.\n\n  ```\n  @since Chrome 44\n  @chrome-permission documentScan\n  @chrome-platform chromeos\n  @chrome-platform lacros\n  ```\n\n- [x] dom\n\n  Use the `chrome.dom` API to access special DOM APIs for Extensions\n\n  ```\n  @since Chrome 88\n  ```\n\n- [x] downloads\n\n  Use the `chrome.downloads` API to programmatically initiate, monitor,\n  manipulate, and search for downloads.\n\n  ```\n  @chrome-permission downloads\n  ```\n\n- [ ] enterprise.deviceAttributes\n\n  Use the `chrome.enterprise.deviceAttributes` API to read device attributes.\n  Note: This API is only available to extensions force-installed by enterprise policy.\n\n  ```\n  @since Chrome 46\n  @chrome-permission enterprise.deviceAttributes\n  @chrome-platform chromeos\n  @chrome-platform lacros\n  ```\n\n- [ ] enterprise.hardwarePlatform\n\n  Use the `chrome.enterprise.hardwarePlatform` API to get the manufacturer\n  and model of the hardware platform where the browser runs.\n  Note: This API is only available to extensions installed by enterprise policy.\n\n  ```\n  @since Chrome 71\n  @chrome-permission enterprise.hardwarePlatform\n  ```\n\n- [ ] enterprise.networkingAttributes\n\n  Use the `chrome.enterprise.networkingAttributes` API to read information about your current network.\n  Note: This API is only available to extensions force-installed by enterprise policy.\n\n  ```\n  @since Chrome 85\n  @chrome-permission enterprise.networkingAttributes\n  @chrome-platform chromeos\n  @chrome-platform lacros\n  ```\n\n- [ ] enterprise.platformKeys\n\n  Use the `chrome.enterprise.platformKeys` API to generate keys and install\n  certificates for these keys. The certificates will be managed by the platform\n  and can be used for TLS authentication,\n  network access or by other extension through [`chrome.platformKeys`].\n\n  ```\n  @chrome-permission enterprise.platformKeys\n  @chrome-platform chromeos\n  @chrome-platform lacros\n  ```\n\n- [x] events\n\n  The `chrome.events` namespace contains common types used by APIs dispatching\n  events to notify you when something interesting happens.\n\n- [x] extension\n\n  The `chrome.extension` API has utilities that can be used by any extension page.\n  It includes support for exchanging messages between an extension and its content scripts\n  or between extensions, as described in detail in\n  [Message Passing](https://developer.chrome.com/docs/extensions/messaging).\n\n- [x] extensionsManifestTypes\n\n  Schemas for structured manifest entries\n\n\n- [x] extensionTypes\n\n  The `chrome.extensionTypes` API contains type declarations for Chrome extensions.\n\n- [ ] fileBrowserHandler\n\n  Use the `chrome.fileBrowserHandler` API to extend the Chrome OS file browser.\n  For example, you can use this API to enable users to upload files to your website.\n\n  ```\n  @chrome-permission fileBrowserHandler\n  @chrome-disallow-service-workers\n  @chrome-platform chromeos\n  @chrome-platform lacros\n  ```\n\n- [ ] fileHandlers\n\n  `file_handlers` manifest key defintion. File Handlers allow developers\n  to let extensions interact with files on the operating system.\n  This manifest key can be used by developers to register an extension to a given file type.\n\n  ```\n  @since Pending\n  ```\n\n- [ ] fileSystemProvider\n\n  Use the `chrome.fileSystemProvider` API to create file systems,\n  that can be accessible from the file manager on Chrome OS.\n\n  ```\n  @chrome-permission fileSystemProvider\n  @chrome-platform chromeos\n  @chrome-platform lacros\n  ```\n\n- [x] fontSettings\n\n  Use the `chrome.fontSettings` API to manage Chrome's font settings.\n\n  ```\n  @chrome-permission fontSettings\n  ```\n\n- [x] gcm\n\n  Use `chrome.gcm` to enable apps and extensions to send and receive messages\n  through [Firebase Cloud Messaging](https://firebase.google.com/docs/cloud-messaging/) (FCM).\n\n  ```\n  @chrome-permission gcm\n  ```\n\n- [x] history\n\n  Use the `chrome.history` API to interact with the browser's record of visited pages.\n  You can add, remove, and query for URLs in the browser's history.\n  To override the history page with your own version,\n  see [Override Pages](https://developer.chrome.com/docs/extensions/override).\n\n  ```\n  @chrome-permission history\n  ```\n\n- [x] i18n\n\n  Use the `chrome.i18n` infrastructure to implement internationalization across\n  your whole app or extension.\n\n- [x] identity\n\n  Use the `chrome.identity` API to get OAuth2 access tokens.\n\n  ```\n  @chrome-permission identity\n  ```\n\n- [x] idle\n\n  Use the `chrome.idle` API to detect when the machine's idle state changes.\n\n  ```\n  @chrome-permission idle\n  ```\n\n- [ ] incognito\n\n  Dummy namepsace for the incognito manifest key.\n\n  ```\n  @since Chrome 87\n  ```\n\n- [ ] input.ime\n\n  Use the `chrome.input.ime` API to implement a custom IME for Chrome OS.\n  This allows your extension to handle keystrokes, set the composition,\n  and manage the candidate window.\n\n  ```\n  @chrome-permission input\n  @chrome-platform chromeos\n  @chrome-platform win\n  @chrome-platform linux\n  ```\n\n- [x] instanceID\n\n  Use `chrome.instanceID` to access the Instance ID service.\n\n  ```\n  @since Chrome 44\n  @chrome-permission gcm\n  ```\n\n- [ ] loginState\n\n  Use the `chrome.loginState` API to read and monitor the login state.\n\n  ```\n  @since Chrome 78\n  @chrome-permission loginState\n  @chrome-platform chromeos\n  @chrome-platform lacros\n  ```\n\n- [x] management\n\n  The `chrome.management` API provides ways to manage the list of extensions/apps\n  that are installed and running. It is particularly useful for extensions that\n  [override](https://developer.chrome.com/docs/extensions/override) the built-in New Tab page.\n\n  ```\n  @chrome-permission management\n  ```\n\n- [x] manifestTypes\n\n  Schemas for structured manifest entries\n\n- [x] mdns\n\n  Use the `chrome.mdns` API to discover services over mDNS. This comprises\n  a subset of the features of the NSD spec: http://www.w3.org/TR/discovery-api/\n\n  ```\n  @alpha\n  @chrome-channel dev\n  @chrome-permission mdns\n  ```\n\n- [ ] networking.onc\n\n  The `chrome.networking.onc` API is used for configuring network connections\n  (Cellular, Ethernet, VPN or WiFi). This API is available in auto-launched Chrome OS kiosk sessions.\n\n  Network connection configurations are specified following\n  [Open Network Configuration (ONC)](https://chromium.googlesource.com/chromium/src/+/main/components/onc/docs/onc_spec.md) specification.\n\n  **NOTE**: Most dictionary properties and enum values use UpperCamelCase to\n  match the ONC specification instead of the JavaScript lowerCamelCase convention.\n\n  ```\n  @alpha\n  @chrome-permission networking.onc\n  @chrome-channel dev\n  @chrome-platform chromeos\n  @chrome-platform lacros\n  ```\n\n- [x] notifications\n\n  Use the `chrome.notifications` API to create rich notifications using templates\n  and show these notifications to users in the system tray.\n\n  ```\n  @chrome-permission notifications\n  ```\n\n- [x] offscreen\n\n  Use the `offscreen` API to create and manage offscreen documents.\n\n  ```\n  @since Pending\n  @chrome-permission offscreen\n  @chrome-min-manifest MV3\n  ```\n\n- [x] omnibox\n\n  The omnibox API allows you to register a keyword with Google Chrome's address bar,\n  which is also known as the omnibox.\n\n  ```\n  @chrome-manifest omnibox\n  ```\n\n- [x] pageCapture\n\n  Use the `chrome.pageCapture` API to save a tab as MHTML.\n\n  ```\n  @chrome-permission pageCapture\n  ```\n\n- [x] permissions\n\n  Use the `chrome.permissions` API to request\n  [declared optional permissions](https://developer.chrome.com/docs/extensions/reference/permissions/#manifest)\n  at run time rather than install time, so users understand\n  why the permissions are needed and grant only those that are necessary.\n\n- [ ] platformKeys\n\n  Use the `chrome.platformKeys` API to access client certificates managed by the platform.\n  If the user or policy grants the permission, an extension can use such a certficate in\n  its custom authentication protocol. E.g. this allows usage of platform managed certificates in\n  third party VPNs (see [`chrome.vpnProvider`]).\n\n  ```\n  @since Chrome 45\n  @chrome-permission platformKeys\n  @chrome-platform chromeos\n  @chrome-platform lacros\n  ```\n\n- [x] power\n\n  Use the `chrome.power` API to override the system's power management features.\n\n  ```\n  @chrome-permission power\n  ```\n\n- [x] printerProvider\n\n  The `chrome.printerProvider` API exposes events used by print manager to\n  query printers controlled by extensions, to query their capabilities\n  and to submit print jobs to these printers.\n\n  ```\n  @since Chrome 44\n  @chrome-permission printerProvider\n  ```\n\n- [ ] printing\n\n  Use the `chrome.printing` API to send print jobs to printers installed on Chromebook.\n\n  ```\n  @since Chrome 81\n  @chrome-permission printing\n  @chrome-platform chromeos\n  @chrome-platform lacros\n  ```\n\n- [ ] printingMetrics\n\n  Use the `chrome.printingMetrics` API to fetch data about printing usage.\n\n  ```\n  @since Chrome 79\n  @chrome-permission printingMetrics\n  @chrome-platform chromeos\n  @chrome-platform lacros\n  ```\n\n- [x] privacy\n\n  Use the `chrome.privacy` API to control usage of the features in Chrome that\n  can affect a user's privacy. This API relies on the\n  [ChromeSetting prototype of the type API](https://developer.chrome.com/docs/extensions/reference/types/#ChromeSetting)\n  for getting and setting Chrome's configuration.\n\n  ```\n  @chrome-permission privacy\n  ```\n\n- [ ] processes\n\n  Use the `chrome.processes` API to interact with the browser's processes.\n\n  ```\n  @alpha\n  @chrome-permission processes\n  @chrome-channel dev\n  ```\n\n- [x] proxy\n\n  Use the `chrome.proxy` API to manage Chrome's proxy settings. This API relies on the\n  [ChromeSetting prototype of the type API](https://developer.chrome.com/docs/extensions/reference/types/#ChromeSetting)\n  for getting and setting the proxy configuration.\n\n  ```\n  @chrome-permission proxy\n  ```\n\n- [x] runtime\n\n  Use the `chrome.runtime` API to retrieve the background page,\n  return details about the manifest,\n  and listen for and respond to events in the app or extension lifecycle.\n  You can also use this API to convert the relative path of URLs to fully-qualified URLs.\n\n- [x] scripting\n\n  Use the `chrome.scripting` API to execute script in different contexts.\n\n  ```\n  @since Chrome 88\n  @chrome-permission scripting\n  @chrome-min-manifest MV3\n  ```\n\n- [x] search\n\n  Use the `chrome.search` API to search via the default provider.\n\n  ```\n  @since Chrome 87\n  @chrome-permission search\n  ```\n\n- [x] sessions\n\n  Use the `chrome.sessions` API to query and restore tabs and windows from a browsing session.\n\n  ```\n  @chrome-permission sessions\n  ```\n\n- [x] sidePanel\n\n  chrome.sidePanel API\n\n  ```\n  @alpha\n  @chrome-permission sidePanel\n  @chrome-channel canary\n  @chrome-min-manifest MV3\n  ```\n\n- [ ] sockets.tcp\n\n  Use the `chrome.sockets.tcp` API to send and receive data over the network using TCP connections.\n  This API supersedes the TCP functionality previously found in the `chrome.socket` API.\n\n  ```\n  @alpha\n  @chrome-manifest sockets\n  @chrome-channel dev\n  @chrome-platform chromeos\n  @chrome-platform lacros\n  ```\n\n- [ ] sockets.tcpServer\n\n  Use the `chrome.sockets.tcpServer` API to create server applications using TCP connections.\n  This API supersedes the TCP functionality previously found in the `chrome.socket` API.\n\n  ```\n  @alpha\n  @chrome-manifest sockets\n  @chrome-channel dev\n  @chrome-platform chromeos\n  @chrome-platform lacros\n  ```\n\n- [ ] sockets.udp\n\n  Use the `chrome.sockets.udp` API to send and receive data over the network using UDP connections.\n  This API supersedes the UDP functionality previously found in the \"socket\" API.\n\n  ```\n  @alpha\n  @chrome-manifest sockets\n  @chrome-channel dev\n  @chrome-platform chromeos\n  @chrome-platform lacros\n  ```\n\n- [x] storage\n\n  Use the `chrome.storage` API to store, retrieve, and track changes to user data.\n\n  ```\n  @chrome-permission storage\n  ```\n\n- [x] system.cpu\n\n  Use the `system.cpu` API to query CPU metadata.\n\n  ```\n  @chrome-permission system.cpu\n  ```\n\n- [x] system.display\n\n  Use the `system.display` API to query display metadata.\n\n  ```\n  @chrome-permission system.display\n  ```\n\n- [x] system.memory\n\n  The `chrome.system.memory` API.\n\n  ```\n  @chrome-permission system.memory\n  ```\n\n- [x] system.network\n\n  Use the `chrome.system.network` API.\n\n  ```\n  @alpha\n  @chrome-permission system.network\n  @chrome-channel dev\n  ```\n\n- [x] system.storage\n\n  Use the `chrome.system.storage` API to query storage device information\n  and be notified when a removable storage device is attached and detached.\n\n  ```\n  @chrome-permission system.storage\n  ```\n\n- [x] tabCapture\n\n  Use the `chrome.tabCapture` API to interact with tab media streams.\n\n  ```\n  @chrome-permission tabCapture\n  @chrome-disallow-service-workers\n  ```\n\n- [x] tabGroups\n\n  Use the `chrome.tabGroups` API to interact with the browser's tab grouping system.\n  You can use this API to modify and rearrange tab groups in the browser.\n  To group and ungroup tabs, or to query what tabs are in groups, use the `chrome.tabs` API.\n\n  ```\n  @since Chrome 89\n  @chrome-permission tabGroups\n  @chrome-min-manifest MV3\n  ```\n\n- [x] tabs\n\n  Use the `chrome.tabs` API to interact with the browser's tab system.\n  You can use this API to create, modify, and rearrange tabs in the browser.\n\n- [x] topSites\n\n  Use the `chrome.topSites` API to access the top sites (i.e. most visited sites)\n  that are displayed on the new tab page.\n  These do not include shortcuts customized by the user.\n\n  ```\n  @chrome-permission topSites\n  ```\n\n- [x] tts\n\n  Use the `chrome.tts` API to play synthesized text-to-speech (TTS).\n  See also the related [`ttsEngine`] API, which allows an extension\n  to implement a speech engine.\n\n  ```\n  @chrome-permission tts\n  ```\n\n- [x] ttsEngine\n\n  Use the `chrome.ttsEngine` API to implement a text-to-speech(TTS) engine using an extension.\n  If your extension registers using this API, it will receive events containing an utterance\n  to be spoken and other parameters when any extension or Chrome App uses the [`tts`] API\n  to generate speech. Your extension can then use any available web technology to synthesize\n  and output the speech, and send events back to the calling function to report the status.\n\n  ```\n  @chrome-permission ttsEngine\n  ```\n\n- [x] types\n\n  The `chrome.types` API contains type declarations for Chrome.\n\n- [ ] usb\n\n  Use the `chrome.usb` API to interact with connected USB devices.\n  This API provides access to USB operations from within the context of an app.\n  Using this API, apps can function as drivers for hardware devices.\n  Errors generated by this API are reported by setting [`runtime.lastError`]\n  and executing the function's regular callback.\n  The callback's regular parameters will be undefined in this case.\n\n  ```\n  @alpha\n  @chrome-permission usb\n  @chrome-channel dev\n  @chrome-platform chromeos\n  @chrome-platform lacros\n  ```\n\n- [ ] virtualKeyboard\n\n  The `chrome.virtualKeyboard` API is a kiosk only API used to\n  configure virtual keyboard layout and behavior in kiosk sessions.\n\n  ```\n  @alpha\n  @chrome-permission virtualKeyboard\n  @chrome-channel dev\n  @chrome-platform chromeos\n  @chrome-platform lacros\n  ```\n\n- [ ] vpnProvider\n\n  Use the `chrome.vpnProvider` API to implement a VPN client.\n\n  ```\n  @since Chrome 43\n  @chrome-permission vpnProvider\n  @chrome-platform chromeos\n  @chrome-platform lacros\n  ```\n\n- [ ] wallpaper\n\n  Use the `chrome.wallpaper` API to change the ChromeOS wallpaper.\n\n  ```\n  @since Chrome 43\n  @chrome-permission wallpaper\n  @chrome-platform chromeos\n  @chrome-platform lacros\n  ```\n\n- [ ] webAccessibleResources (since Chrome 90)\n\n  Stub namepsace for the \"web\\_accessible\\_resources\" manifest key.\n\n- [ ] webAuthenticationProxy\n\n  The webAuthenticationProxy API lets remote desktop software running on\n  a remote host intercept Web Authentication API (WebAuthn) requests in order\n  to handle them on a local client.\n\n  ```\n  @alpha\n  @chrome-permission webAuthenticationProxy\n  @chrome-channel trunk\n  @chrome-min-manifest MV3\n  @chrome-platform win\n  @chrome-platform linux\n  @chrome-platform mac\n  ```\n\n- [x] webNavigation\n\n  Use the `chrome.webNavigation` API to receive notifications about the status\n  of navigation requests in-flight.\n\n  ```\n  @chrome-permission webNavigation\n  ```\n\n- [x] webRequest\n\n  Use the `chrome.webRequest` API to observe and analyze traffic and to intercept,\n  block, or modify requests in-flight.\n\n  ```\n  @chrome-permission webRequest\n  ```\n\n- [x] windows\n\n  Use the `chrome.windows` API to interact with browser windows.\n  You can use this API to create, modify, and rearrange windows in the browser.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fr32%2Fchrome-extension-v3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fr32%2Fchrome-extension-v3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fr32%2Fchrome-extension-v3/lists"}