Title: Theory / Unimportant / CS / Programming / JS / Chrome extension
Tags: automatedNewLineAfterCommaSpace

Variable: manifest.json
Meaning: Description of a chrome extension
Page: https://developer.chrome.com/docs/extensions/mv3/getstarted/
Context: Chrome extension
Language: js

Variable: "name"
Meaning: Name of the extension
Page: https://developer.chrome.com/docs/extensions/mv3/getstarted/
Context: Chrome extension, manifest.json
Language: json
Typ: string, at most 45 chars

Variable: "description"
Meaning: Description of the extension
Page: https://developer.chrome.com/docs/extensions/mv3/getstarted/
Context: Chrome extension, manifest.json
Language: json
Typ: 132 chars max string plain text

Variable: "version"
Meaning: Version of this extension.
Page: https://developer.chrome.com/docs/extensions/mv3/getstarted/
Context: Chrome extension, manifest.json
Language: json
Typ: string, dot separated 1 to 4 digits, between 0 and 65535

Variable: "manifest_version"
Meaning: Version of the manifest of this extension
Page: https://developer.chrome.com/docs/extensions/mv3/getstarted/
Context: Chrome extension, manifest.json
Language: json

Question: What files are required in a chrome extension
Answer: manifest.json
Page: https://developer.chrome.com/docs/extensions/mv3/getstarted/
Context: Chrome extension

Variable: chrome://extensions
Meaning: page to manage extensions installed
Page: https://developer.chrome.com/docs/extensions/mv3/getstarted/
Context: Chrome
Language: js

Variable: permissions
Meaning: list of permissions required by this extension
Page: https://developer.chrome.com/docs/extensions/mv3/getstarted/
Context: Chrome
Language: js

Variable: ["background"]["service_worker"]
Meaning: The service_worker script
Page: https://developer.chrome.com/docs/extensions/mv3/service_workers/
Context: Chrome manifest.json
Language: js

Variable: action
Meaning: associate name of action to html page
Page: https://developer.chrome.com/docs/extensions/mv3/getstarted/
Context: Chrome manifest.json
Language: js

Variable: ["action"]["default_icon"]["n"]
Meaning: the default icon of this extension
Page: https://developer.chrome.com/docs/extensions/mv3/getstarted/
Context: Chrome manifest.json
Language: js
Typ: a bmp of n x n pixels

Variable: ["icons"]["n"]
Meaning: The icon shown in extension management page, permission warning and favicon
Page: https://developer.chrome.com/docs/extensions/mv3/getstarted/
Context: Chrome manifest.json
Language: js
Typ: a png of n x n pixels

Variable: "options_page"
Meaning: the page of options of this extension
Page: https://developer.chrome.com/docs/extensions/mv3/getstarted/
Context: Chrome manifest.json
Language: js

Name: An extension
Definition: small software programs that customize the browsing experience
Page: https://developer.chrome.com/docs/extensions/mv3/overview/
Context: Chrome

Name: Extension user interface
Definition: consistent way for users to manage their extensions.
Page: https://developer.chrome.com/docs/extensions/mv3/overview/
Context: Chrome extension

Name: Extension API
Definition: allow the extension's code to access features of the browser itself
Page: https://developer.chrome.com/docs/extensions/mv3/overview/
Context: Chrome extension

Name: Chrome web store
Definition: The website where one can download and install chrome extension
Page: https://developer.chrome.com/docs/extensions/mv3/overview/
Context: Chrome extension

Name: Chrome developer dashboard
Definition: Where developer can publish extension
Page: https://developer.chrome.com/docs/extensions/mv3/overview/
Context: Chrome extension

Name: Single purpose
Definition: The single thing that an extension do
Page: https://developer.chrome.com/docs/extensions/mv3/overview/
Context: Chrome extension

Name: A user interface that have intent
Definition: A user interface such that each part has a specific reason to be an do a clear action
Page: https://developer.chrome.com/docs/extensions/mv3/overview/
Context: Chrome extension

Variable: ["action"]["default_popup"]
Meaning: the html file shown when the icon is clicked
Page: https://developer.chrome.com/docs/extensions/mv3/overview/
Context: Chrome extension
Language: js

Variable: ["commands"][action_name]["suggested_key"]["default"]
Meaning: The shortcut for this extension
Page: https://developer.chrome.com/docs/extensions/mv3/overview/
Context: Chrome extension
Language: js

Variable: ["commands"][action_name]["suggested_key"]["mac"]
Meaning: The shortcut for this extension on mac
Page: https://developer.chrome.com/docs/extensions/mv3/overview/
Context: Chrome extension
Language: js

Name: Theme
Definition: Theme without html and js
Page: https://developer.chrome.com/docs/extensions/mv3/themes/
Context: Chrome extension
Intuition: a special kind of extension that changes the way the browser looks

Typ: color
Page: https://developer.chrome.com/docs/extensions/mv3/themes/
Language: js
Context: Chrome extension
Implementation: [r, g, b] over a bite each

Typ: images
Page: https://developer.chrome.com/docs/extensions/mv3/themes/
Language: js
Context: Chrome extension
Implementation: path from the root of the extension folder, in png

Typ: tints
Page: https://developer.chrome.com/docs/extensions/mv3/themes/
Language: js
Context: Chrome extension
Implementation: [Hue-Saturation-Lightness] as a float from 0 to 1.0

Typ: saturation
Meaning: 0 for totally desaturated, 1 for full saturation
Page: https://developer.chrome.com/docs/extensions/mv3/themes/
Language: js
Context: Chrome extension
Initialization: .5

Typ: hue
Meaning: A float between 0 and 1. 0 and 1 are red. In between corresponds to side of the hue circle
Page: https://developer.chrome.com/docs/extensions/mv3/themes/
Language: js
Context: Chrome extension

Typ: lightness
Meaning: 0 all pixels blacks, 1 all pixels white
Page: https://developer.chrome.com/docs/extensions/mv3/themes/
Language: js
Context: Chrome extension
Initialization: .5

Variable: ["tints"][some_object]
Meaning: The tint of some_object
Page: https://developer.chrome.com/docs/extensions/mv3/themes/
Context: Chrome manifest
Language: json

Variable: ["colors"][some_object]
Meaning: The colors of some_object
Page: https://developer.chrome.com/docs/extensions/mv3/themes/
Context: Chrome manifest
Language: json

Variable: ["images"][some_object]
Meaning: The images of some_object
Page: https://developer.chrome.com/docs/extensions/mv3/themes/
Context: Chrome manifest
Language: json

Name: An option page
Definition: An html page, loaded when clicking on "option" that allow to set the extension's options.
Page: https://developer.chrome.com/docs/extensions/mv3/faq/
Context: Chrome extension

Question: Which fields are mandatory in manifest.json
Answer: manifest_version
Page: https://developer.chrome.com/docs/extensions/mv3/manifest/
Context: Chrome extension
Answer2: name
Answer3: version

Question: Which fields are recommended in manifest.json
Answer: action
Page: https://developer.chrome.com/docs/extensions/mv3/manifest/
Context: Chrome extension
Answer2: default_locale
Answer3: description
Answer4: icons

Variable: chrome-extension://EXTENSION_ID/PATH
Meaning: file at PATH of extension EXTENSION_ID
Page: https://developer.chrome.com/docs/extensions/mv3/architecture-overview/
Context: Chrome extension
Language: js

Question: Where can extension id be found
Answer: in chrome://extensions
Page: https://developer.chrome.com/docs/extensions/mv3/architecture-overview/
Context: Chrome extension

Meaning: the extension's event handler
Page: https://developer.chrome.com/docs/extensions/mv3/architecture-overview/
Language: js
Context: Chrome extension
Implementation: contains listeners for browser events that are important to the extension
Name: A background script

Meaning: Extension that read/write web page
Page: https://developer.chrome.com/docs/extensions/mv3/architecture-overview/
Language: js
Context: Chrome extension
Implementation: A script that execute when a page is loaded in the browser
Name: content script

Variable: optional_permissions
Meaning: permissions that are granted by the extension's user at runtime
Page: https://developer.chrome.com/docs/extensions/mv3/declare_permissions/
Context: Chrome extension manifest
Language: json

Variable: host_permissions
Meaning: contain one or more match patterns that give access to one or more hosts
Page: https://developer.chrome.com/docs/extensions/mv3/declare_permissions/
Context: Chrome extension manifest
Language: json

Question: Which are better, permissions or optional_permissions
Answer: optional_permissions
Page: https://developer.chrome.com/docs/extensions/mv3/declare_permissions/
Context: Chrome extension manifest

Instruction: activeTab
Page: https://developer.chrome.com/docs/extensions/mv3/declare_permissions/
Effect: Requests that the extension be granted permissions according to the activeTab specification.
Language: js
Context: Chrome extension permission

Instruction: Permission "perm"
Page: https://developer.chrome.com/docs/extensions/mv3/declare_permissions/
Effect: access to the chrome.perm API
Language: js
Context: Chrome extension permission

Instruction: Permission "background"
Page: https://developer.chrome.com/docs/extensions/mv3/declare_permissions/
Effect: Makes Chrome start up early and and shut down late, so that extensions can have a longer life.
When any installed extension has "background" permission, Chrome runs (invisibly) as soon as the user logs into their computer—before the user launches Chrome. The "background" permission also makes Chrome continue running (even after its last window is closed) until the user explicitly quits Chrome.
Language: js
Context: Chrome extension permission

Instruction: permission "clipboardRead"
Page: https://developer.chrome.com/docs/extensions/mv3/declare_permissions/
Effect: Required if the extension uses
`document.execCommand('cut')` or `document.execCommand('copy')`
Language: js
Context: Chrome extension permission

Instruction: permission "experimental"
Page: https://developer.chrome.com/docs/extensions/mv3/declare_permissions/
Effect: Required if the extension uses any
`chrome.experimental.*` APIs
Language: js
Context: Chrome extension permission

Instruction: permission "experimental"
Page: https://developer.chrome.com/docs/extensions/mv3/declare_permissions/
Effect: Required if the extension uses the `chrome.webRequest` API in a blocking fashion
Language: js
Context: Chrome extension permission

Instruction: permission "experimental"
Page: https://developer.chrome.com/docs/extensions/mv3/declare_permissions/
Effect: Required if the extension uses
`document.execCommand('copy')` or `document.execCommand('cut')`
Language: js
Context: Chrome extension permission

Instruction: permission "geolocation"
Page: https://developer.chrome.com/docs/extensions/mv3/declare_permissions/
Effect: Allows the extension to use the geolocation API without prompting the user for permission.
Language: js
Context: Chrome extension permission

Instruction: permission "tabs"
Page: https://developer.chrome.com/docs/extensions/mv3/declare_permissions/
Effect: Gives your extension access to privileged fields of the Tab objects used by several APIs including chrome.tabs and chrome.windows.
Language: js
Context: Chrome extension permission

Instruction: permission "unlimitedStorage"
Page: https://developer.chrome.com/docs/extensions/mv3/declare_permissions/
Effect: Provides an unlimited quota for storing client-side data, such as databases and local storage files. Without this permission, the extension is limited to 5 MB of local storage.
Language: js
Context: Chrome extension permission
Extra: Note: This permission applies only to Web SQL Database and application cache (see issue 58985). Also, it doesn't currently work with wildcard subdomains such as http://*.example.com.

Name: An action
Definition: an extension's features are functional in most situations.
Page: https://developer.chrome.com/docs/extensions/mv3/user_interface/
Context: Chrome extension
Denoted by: It will be displayed to the right of the user's URL bar, hidden under the Extensions overflow menu by default, and a user can 'pin' it to be always visible.

Name: A badge
Definition: At most 4 letters on top of an action's icon
Page: https://developer.chrome.com/docs/extensions/mv3/user_interface/
Context: Chrome extension

Name: Declarative content
Definition: A rule that consider the URL to decide whether to activate an extension or not
Page: https://developer.chrome.com/docs/extensions/mv3/user_interface/
Context: Chrome extension

Name: popup
Definition: A window displayed to a user when they click on an action
Page: https://developer.chrome.com/docs/extensions/mv3/user_interface/
Context: Chrome extension

Name: Tooltip
Definition: The extension's tooltip short text that appears when the mouse remains on top of an icon
Page: https://developer.chrome.com/docs/extensions/mv3/user_interface/
Context: Chrome extension

Variable: ["action"]["default_title"]
Meaning: The tooltip of this extension
Page: https://developer.chrome.com/docs/extensions/mv3/user_interface/
Context: Chrome manifest.json
Language: js

Question: If an extension has a click handler and a pop-up, which one is used
Answer: the pop-up
Page: https://developer.chrome.com/docs/extensions/mv3/user_interface/
Context: Chrome manifest.json

Instruction: "omnibox": { "keyword" : "foo" }
Page: https://developer.chrome.com/docs/extensions/mv3/user_interface/
Effect: When user type "foo" in omnibox, the query is sent to this extension
Language: json
Context: Chrome manifest.json

Instruction: chrome.contextMenus.create(
  {
      id: id,
      title: title,
      type: 'normal',
      contexts: contexts,
}
);
Page: https://developer.chrome.com/docs/extensions/mv3/user_interface/
Effect: Add an entry in the context menu's submenu of this extension.
This entry name is title. It's avalaible in the contexts (e.g. selection). Its event has id
Language: js
Context: Chrome extension

Instruction: ["commands"][name]
Page: https://developer.chrome.com/docs/extensions/mv3/user_interface/
Effect: A command, executed by shortcut
Language: json
Context: chrome extension, manifest.json

Variable: ["chrome_url_overrides"]["newtabs"]
Meaning: the page to open on newtab
Page: https://developer.chrome.com/docs/extensions/mv3/user_interface/
Context: chrome extension, manifest.json
Language: json

Variable: ["chrome_url_overrides"]["bookmarks"]
Meaning: the page to open on bookmarks
Page: https://developer.chrome.com/docs/extensions/mv3/user_interface/
Context: chrome extension, manifest.json
Language: json

Variable: ["chrome_url_overrides"]["history"]
Meaning: the page to open on history
Page: https://developer.chrome.com/docs/extensions/mv3/user_interface/
Context: chrome extension, manifest.json
Language: json

Variable: debug
Meaning: todo
Page: https://developer.chrome.com/docs/extensions/mv3/tut_debugging/
Context: chrome extension, manifest.json
Language: json

Instruction: chrome.runtime.sendMessage(
  message,
  fn
)
Page: https://developer.chrome.com/docs/extensions/mv3/messaging/
Effect: send message to chrome runtime and apply fn to its answer
Language: json
Context: chrome extension,
  manifest.json

Instruction: chrome.tabs.query(
  query,
  fn
)
Page: https://developer.chrome.com/docs/extensions/mv3/messaging/
Effect: Assynchronously apply fn(tabs) to the set of tabs satisfying the query
Language: json
Context: chrome extension,
  manifest.json

Instruction: chrome.tabs.sendMessage(
  tab,
  message,
  fn
)
Page: https://developer.chrome.com/docs/extensions/mv3/messaging/
Effect: Send message to tab and apply fn to its result
Language: json
Context: chrome extension

Instruction: chrome.runtime.onMessage.addlistener(fn)
Page: https://developer.chrome.com/docs/extensions/mv3/messaging/
Effect: When chrome receive a message call
fn(request, sender, sendResponse).
Language: json
Context: chrome extension

Question: What occurs if callback's sendRespons is called many time
Answer: all calls after the 0th one is ignored
Page: https://developer.chrome.com/docs/extensions/mv3/messaging/
Chapter: json
Context: chrome extension, sendMessage

Question: What occurs if callback's sendResponse is called zero time during the messageListener function
Answer: if the function returns true then sendResponse wait for an asynchronous call. Otherwise, sendResponse is called without value
Page: https://developer.chrome.com/docs/extensions/mv3/messaging/
Chapter: json
Context: chrome extension, sendMessage

Question: What occurs if a messageListener return true, and sendResponse is not called before being garbage collected
Answer: sendResponse is called without answer value
Page: https://developer.chrome.com/docs/extensions/mv3/messaging/
Chapter: json
Context: chrome extension, sendMessage

Instruction: chrome.runtime.connect({name: "portName"})
Page: https://developer.chrome.com/docs/extensions/mv3/messaging/
Effect: create a port named portName with Chrome runtime
Language: js
Context: chrome extension
Chapter: json
Returns: the new port

Instruction: port.postMessage(message)
Page: https://developer.chrome.com/docs/extensions/mv3/messaging/
Effect: send message to the port
Language: js
Context: chrome extension
Chapter: json
Variables: port: port

Instruction: port.onMessage.addListened(fn)
Page: https://developer.chrome.com/docs/extensions/mv3/messaging/
Effect: when port receive a message, it calls fn(message)
Language: js
Context: chrome extension
Chapter: json
Variables: port: port

Instruction: chrome.runtime.onConnect.addListened(fn)
Page: https://developer.chrome.com/docs/extensions/mv3/messaging/
Effect: when a port is created on chrome runtime, call fn(port)
Language: js
Context: chrome extension
Chapter: json

Instruction: chrome.runtime.onMessageExternal.addListened(fn)
Page: https://developer.chrome.com/docs/extensions/mv3/messaging/
Effect: When another extension or a webpage send us a message, call fn(message, sender, sendResponse)
Language: js
Context: chrome extension
Chapter: json

Instruction: chrome.runtime.onConnectExternal.addListened(fn)
Page: https://developer.chrome.com/docs/extensions/mv3/messaging/
Effect: When another extension or a webpage establish a channel with us, call fn(port)
Language: js
Context: chrome extension
Chapter: json

Instruction: chrome.runtime.connect(extensionId)
Page: https://developer.chrome.com/docs/extensions/mv3/messaging/
Language: js
Context: chrome extension
Chapter: json
Returns: A port to exchange message with extendion with id extensionId

Instruction: chrome.runtime.sendMessage(
  extensionId,
  message,
  callback
)
Page: https://developer.chrome.com/docs/extensions/mv3/messaging/
Effect: send message to extension with id extensionId, send its answer to callback
Language: js
Context: chrome extension
Chapter: json

Variable: ["externally_connectable"]["matches"]
Meaning: List of URL pattern from which this extension can receive message
Page: https://developer.chrome.com/docs/extensions/mv3/messaging/
Context: chrome extension
Language: js
Chapter: json

Question: What API can content scripts use
Answer: i18n
Page: https://developer.chrome.com/docs/extensions/mv3/content_scripts/
Context: chrome extension
Answer2: storage
Answer3: runtime's connect/onConnect
Answer4: runtime's getManifest
Answer5: runtime's getURl
Name: runtime's onMessage/sendMessage
Answer6: runtime's id

Variable: ["content_scripts"]["css"]
Meaning: List of css files to inject
Page: https://developer.chrome.com/docs/extensions/mv3/content_scripts/
Context: chrome extension, manifest.json
Language: js

Variable: ["content_scripts"]["js"]
Meaning: List of js files to inject
Page: https://developer.chrome.com/docs/extensions/mv3/content_scripts/
Context: chrome extension, manifest.json
Language: js

Variable: ["content_scripts"]["matches"]
Meaning: list of URL pattern such that if URL match any of those, content scirpt is injected
Page: https://developer.chrome.com/docs/extensions/mv3/content_scripts/
Context: chrome extension, manifest.json
Language: js

Variable: ["content_scripts"]["exclude_matches"]
Meaning: List URL pattern for which content script should not be used
Page: https://developer.chrome.com/docs/extensions/mv3/content_scripts/
Context: chrome extension, manifest.json
Language: js

Variable: ["content_scripts"]["(in|ex)clude_matches"]
Meaning: List GLOB pattern for which content script should not be used.
Page: https://developer.chrome.com/docs/extensions/mv3/content_scripts/
Context: chrome extension, manifest.json
Language: js

Variable: ["content_scripts"]["run_at"]
Meaning: when the content script is injected
Page: https://developer.chrome.com/docs/extensions/mv3/content_scripts/
Context: chrome extension, manifest.json
Language: js
Initialization: document_idle The browser chooses a time to inject scripts between "document_end" and immediately after the window.onload event fires. The exact moment of injection depends on how complex the document is and how long it is taking to load, and is optimized for page load speed.
Value: document_start Scripts are injected after any files from css, but before any other DOM is constructed or any other script is run.
Value2: document_end Scripts are injected immediately after the DOM is complete, but before subresources like images and frames have loaded.

Variable: ["content_scripts"]["all_frames"]
Meaning: Whether content should be injected in frames that are not the top frame
Page: https://developer.chrome.com/docs/extensions/mv3/content_scripts/
Context: chrome extension, manifest.json
Language: js

Variable: ["content_scripts"]["match_origin_as_fallback"]
Meaning: Whether `matches` should also be applied of initiator of the frame
Page: https://developer.chrome.com/docs/extensions/mv3/content_scripts/
Context: chrome extension, manifest.json
Language: js

Name: A frame initiator
Definition: the frame that created or navigated the target frame.
Page: https://developer.chrome.com/docs/extensions/mv3/content_scripts/
Context: chrome extension, manifest.json

Question: How should a page and a content script should interact
Answer: Through the DOM. e.g. window.postMessage
Page: https://developer.chrome.com/docs/extensions/mv3/content_scripts/
Context: chrome extension

Variable: ["background"]["type"]
Meaning: if set to "module", then it's a ES module. TODO check whether there are other type
Page: https://developer.chrome.com/docs/extensions/mv3/service_workers/
Context: chrome extension
Language: js

Instruction: chrome.runtime.onInstalled.addListener(fn)
Page: https://developer.chrome.com/docs/extensions/mv3/service_workers/
Effect: When the current extension is installed, run fn
Language: js
Context: chrome extension

Question: Constraints on listener
Answer: they must be installed synchronously
Page: https://developer.chrome.com/docs/extensions/mv3/service_workers/
Context: chrome extension

Instruction: chrome.runtime.onSuspend.addListener(fn)
Page: https://developer.chrome.com/docs/extensions/mv3/service_workers/
Effect: execute `fn()` when the service workers goes to suspend state
Language: js
Context: chrome extension

Question: How to transfer data between run of a service worker
Answer: Regularly put the data in the storage API
Page: https://developer.chrome.com/docs/extensions/mv3/service_workers/
Context: chrome extension

Name: <url-pattern>
Definition: <scheme>://<host><path>
Page: https://developer.chrome.com/docs/extensions/mv3/service_workers/
Context: chrome extension, match pattern

Name: <scheme>
Definition: '*' | 'http' | 'https' | 'file' | 'ftp' | 'urn'
Page: https://developer.chrome.com/docs/extensions/mv3/service_workers/
Context: chrome extension, match pattern

Name: <host>
Definition: '*' | '*.' <any char except '/' and '*'>+
Page: https://developer.chrome.com/docs/extensions/mv3/service_workers/
Context: chrome extension, match pattern

Name: <path>
Definition: '/' <any chars>
Page: https://developer.chrome.com/docs/extensions/mv3/service_workers/
Context: chrome extension, match pattern

Variable: chorme.runtime.lastError
Meaning: no value if no error related to this callback. Otherwise last error related to this callback
Page: https://developer.chrome.com/docs/extensions/mv3/service_workers/
Context: chrome extension, callback
Language: js

Question: what to do instead of eval(text)
Answer: JSON.parse(text)
Page: https://developer.chrome.com/docs/extensions/mv3/xhr/
Context: secure javascript

Question: what to do instead of
```
elt.innerHTML = receivedText
```
Answer: elt.textContent = receivedText
Page: https://developer.chrome.com/docs/extensions/mv3/xhr/
Context: secure javascript

Variable: ["sandbox"]["pages"]
Meaning: Array of pages that are run into sandboxes
Page: https://developer.chrome.com/docs/extensions/mv3/sandboxingEval/
Context: chrome extension
Language: js

Variable: ["chrome_settings_overrides"]["homepage"]
Meaning: New value for the homepage.
Page: https://developer.chrome.com/docs/extensions/mv3/sandboxingEval/
Context: chrome extension
Language: js

Question: Which values are mandatory for ["chrome_settings_overrides"]["search_provider"]
Answer: search_url
Page: https://developer.chrome.com/docs/extensions/mv3/sandboxingEval/
Context: chrome extension
Answer2: is_default
Answer3: Either prepopulated_id or some more values

Variable: ["chrome_settings_overrides"]["search_provider"]["name"]
Meaning: Name of the search engine displayed to user.
Page: https://developer.chrome.com/docs/extensions/mv3/sandboxingEval/
Context: chrome extension
Language: js

Question: Which values are mandatory for ["chrome_settings_overrides"]["search_provider"] if prepopulated_id is not set
Answer: name
Page: https://developer.chrome.com/docs/extensions/mv3/sandboxingEval/
Context: chrome extension
Answer2: keyword
Answer3: favicon_url
Answer4: encoding

Variable: ["chrome_settings_overrides"]["search_provider"]["keyword"]
Meaning: Omnibox keyword for the search engine
Page: https://developer.chrome.com/docs/extensions/mv3/sandboxingEval/
Context: chrome extension
Language: js

Variable: ["chrome_settings_overrides"]["search_provider"]["favicon_url"]
Meaning: An icon URL for the search engine.
Page: https://developer.chrome.com/docs/extensions/mv3/sandboxingEval/
Context: chrome extension
Language: js

Variable: ["chrome_settings_overrides"]["search_provider"]["search_url"]
Meaning: An search URL used by the search engine.
Page: https://developer.chrome.com/docs/extensions/mv3/sandboxingEval/
Context: chrome extension
Language: js

Variable: ["chrome_settings_overrides"]["search_provider"]["encoding"]
Meaning: Encoding of the search term.
Page: https://developer.chrome.com/docs/extensions/mv3/sandboxingEval/
Context: chrome extension
Language: js

Variable: ["chrome_settings_overrides"]["search_provider"]["suggest_url"]
Meaning: If omitted, this engine does not support suggestions. (TODO: what does it do)
Page: https://developer.chrome.com/docs/extensions/mv3/sandboxingEval/
Context: chrome extension
Language: js

Variable: ["chrome_settings_overrides"]["search_provider"]["image_url"]
Meaning: If omitted, this engine does not support image search. (todo: what does it do)
Page: https://developer.chrome.com/docs/extensions/mv3/sandboxingEval/
Context: chrome extension
Language: js

Variable: ["chrome_settings_overrides"]["search_provider"]["search_url_post_params"]
Meaning: The string of post parameters to search_url
Page: https://developer.chrome.com/docs/extensions/mv3/sandboxingEval/
Context: chrome extension
Language: js

Variable: ["chrome_settings_overrides"]["search_provider"]["suggest_url_post_params"]
Meaning: The string of post parameters to suggest_url
Page: https://developer.chrome.com/docs/extensions/mv3/sandboxingEval/
Context: chrome extension
Language: js

Variable: ["chrome_settings_overrides"]["search_provider"]["image_url_post_params"]
Meaning: The string of post parameters to image_url
Page: https://developer.chrome.com/docs/extensions/mv3/sandboxingEval/
Context: chrome extension
Language: js

Variable: ["chrome_settings_overrides"]["search_provider"]["alternate_urls"]
Meaning: A list of URL patterns that can be used, in addition to |search_url|.
Page: https://developer.chrome.com/docs/extensions/mv3/sandboxingEval/
Context: chrome extension
Language: js

Variable: ["chrome_settings_overrides"]["search_provider"]["prepopulated_id"]
Meaning: An ID of the built-in search engine in Chrome.
Page: https://developer.chrome.com/docs/extensions/mv3/sandboxingEval/
Context: chrome extension
Language: js

Variable: ["chrome_settings_overrides"]["search_provider"]["is_default"]
Meaning: Specifies if the search provider should be default.
Page: https://developer.chrome.com/docs/extensions/mv3/sandboxingEval/
Context: chrome extension
Language: js

Variable: ["chrome_settings_overrides"]["startup_pages"][0]
Meaning: URL to be used as the startup page.
Page: https://developer.chrome.com/docs/extensions/mv3/sandboxingEval/
Context: chrome extension
Language: js

Question: Constraint on chorme.devtools.* API
Answer: Can only be accessed in the devtool window
Page: https://developer.chrome.com/docs/extensions/mv3/devtools/
Context: chrome extension

Name: A panel
Definition: a top-level tab, like the Elements, Sources, and Network panels.
Page: https://developer.chrome.com/docs/extensions/mv3/devtools/
Context: Chrome

Name: A sidebar pane
Definition: supplementary UI related to a panel
Page: https://developer.chrome.com/docs/extensions/mv3/devtools/
Context: Chrome

Instruction: chrome.devtools.panels.create(
  "Panel name",
  "panel_icon",
  fn
)
Page: https://developer.chrome.com/docs/extensions/mv3/devtools/
Effect: Add a pannel to DevTools, called Panel name, with panel_icon. The empty panel is given to fn that should add the dom to it
Language: js
Context: Chrome

Instruction: chrome.devtools.panels.elements.createSidebarPane(
  "SidebarePane name",
  fn
)
Page: https://developer.chrome.com/docs/extensions/mv3/devtools/
Effect: Add a sidebar pane to DevTools, called Panel name. The empty panel is given to fn that should add the dom to it
Language: js
Context: Chrome

Instruction: Todo
Page: https://developer.chrome.com/docs/extensions/mv3/tut_oauth/
Effect: Authenticate with Google
Language: js
Context: Chrome

Instruction: Todo
Page: https://developer.chrome.com/docs/extensions/mv3/override/
Effect: Overriding chrome
Language: js
Context: Chrome

Question: The kinds of notifications
Answer: basic
Page: https://developer.chrome.com/docs/extensions/mv3/richNotifications/
Context: Chrome
Answer2: image
Answer3: list
Answer4: progress

Name: A basic notification
Page: https://developer.chrome.com/docs/extensions/mv3/richNotifications/
Context: Chrome

Name: A list notification
Page: https://developer.chrome.com/docs/extensions/mv3/richNotifications/
Context: Chrome

Name: Image notification
Page: https://developer.chrome.com/docs/extensions/mv3/richNotifications/
Context: Chrome

Name: Progress notification
Page: https://developer.chrome.com/docs/extensions/mv3/richNotifications/
Context: Chrome

Name: A notification with negative priority
Definition: On ChromeOS: shown in notification center
Page: https://developer.chrome.com/docs/extensions/mv3/richNotifications/
Context: Chrome
Definition2: On other platform, a notification that produce an error

Name: A notification with positive priority
Definition: A notification displayed to the user
Page: https://developer.chrome.com/docs/extensions/mv3/richNotifications/
Context: Chrome

Name: An action item
Definition: A button on the notification
Page: https://developer.chrome.com/docs/extensions/mv3/richNotifications/
Context: Chrome notification

Instruction: chrome.notification.create(
  id,
  {
    type: "basic",
    title: "Primary title",
    message: "Message to display",
    iconUrl: "url_to_small_icon"
  },
  creationCallback
)
Page: https://developer.chrome.com/docs/extensions/mv3/richNotifications/
Effect: Create a basic notification with title and message
TODO what is id
Language: js
Context: Chrome extension

Instruction: chrome.notification.create(
  id,
  {
    type: "image",
    title: "Primary title",
    message: "Message to display",
    iconUrl: "url_to_small_icon",
    imageUrl: "url_to_preview_image"
  },
  creationCallback
)
Page: https://developer.chrome.com/docs/extensions/mv3/richNotifications/
Effect: Create an image notification with title and message and a preview image, link to an image
TODO what is id
Language: js
Context: Chrome extension

Instruction: chrome.notification.create(
  id,
  {
    type: "list",
    title: "Primary title",
    message: "Message to display",
    iconUrl: "url_to_small_icon",
    items: [
      {
        title: "title1",
        message: "message 1."
      },
      ...
    ]
  },
  creationCallback
)
Page: https://developer.chrome.com/docs/extensions/mv3/richNotifications/
Effect: Create a list notification with primary title, primary message, and list of notification with titles and messages
TODO what is id
Language: js
Context: Chrome extension

Instruction: chrome.notification.create(
  id,
  {
    type: "progress",
    title: "Primary title",
    message: "Message to display",
    iconUrl: "url_to_small_icon",
    progress: n
  },
  creationCallback
)
Page: https://developer.chrome.com/docs/extensions/mv3/richNotifications/
Effect: Create a progress notification with primary title, primary message, and a progress percent between 0 and 100
TODO what is id
Language: js
Context: Chrome extension

Instruction: chrome.notifications.onButtonClicked.addListener(fn)
Page: https://developer.chrome.com/docs/extensions/mv3/richNotifications/
Effect: when notification's button is clicked, call fn
Language: js
Context: Chrome extension

Question: What's the best practice when an extension need to require more permission than preivously
Answer: make the permissions optionals
Page: https://developer.chrome.com/docs/extensions/mv3/user_privacy/
Context: Chrome extension

Instruction: chrome.permissions.request(
  {
    permissions: permission_list,
    origins: urls
  },
  fn
)
Page: https://developer.chrome.com/docs/extensions/mv3/user_privacy/
Effect: Request the user to ask permission to do permission_list for urls. Call fn with whether the permission was granted
Language: js
Context: Chrome extension

Question: How to grant permission in incognito mode
Answer: It must be given through the extension manager
Page: https://developer.chrome.com/docs/extensions/mv3/user_privacy/
Context: Chrome extension

Question: How to grant permission for file:// url
Answer: It must be given through the extension manager
Page: https://developer.chrome.com/docs/extensions/mv3/user_privacy/
Context: Chrome extension

Instruction: extension.isAllowedIncognitoAccess()
Page: https://developer.chrome.com/docs/extensions/mv3/user_privacy/
Language: js
Context: Chrome extension
Returns: Whether the extension is allowed to run in incognito mode

Instruction: extension.isAllowedFileSchemeAccess()
Page: https://developer.chrome.com/docs/extensions/mv3/user_privacy/
Language: js
Context: Chrome extension
Returns: Whether the extension is allowed to run on file:// URL

Question: What to do instead of asking for permission on a URL
Answer: ask permission for activeTab (if you don't need to edit non-active tab)
Page: https://developer.chrome.com/docs/extensions/mv3/user_privacy/

Instruction: permission "clipboardWrite"
Page: https://developer.chrome.com/docs/extensions/mv3/declare_permissions/
Effect: Required if the extension uses
`document.execCommand('paste')`
Language: js
Context: Chrome extension permission

Instruction: permission "bookmarks"
Page: https://developer.chrome.com/docs/extensions/mv3/declare_permissions/
Effect: Permission to read and change your bookmarks
Language: js
Context: Chrome extension permission

Instruction: permission "contentSettings"
Page: https://developer.chrome.com/docs/extensions/mv3/permission_warnings/
Effect: Permission to Change your settings that control websites' access to features such as cookies, JavaScript, plugins, geolocation, microphone, camera etc
Language: js
Context: Chrome extension permission

Instruction: permission "debugger"
Page: https://developer.chrome.com/docs/extensions/mv3/permission_warnings/
Effect: Permission to Access the page debugger backend
Read and change all your data on the websites you visit
Language: js
Context: Chrome extension permission

Instruction: permission "declerativeNetRequest"
Page: https://developer.chrome.com/docs/extensions/mv3/permission_warnings/
Effect: Permission to block page content
Language: js
Context: Chrome extension permission

Instruction: permission "desktopCapture"
Page: https://developer.chrome.com/docs/extensions/mv3/permission_warnings/
Effect: Permission to capture content of your screen
Language: js
Context: Chrome extension permission

Instruction: permission "downloads"
Page: https://developer.chrome.com/docs/extensions/mv3/permission_warnings/
Effect: Permission to manage your downloads
Language: js
Context: Chrome extension permission

Instruction: permission "history"
Page: https://developer.chrome.com/docs/extensions/mv3/permission_warnings/
Effect: Permission to read and change browsing history
Language: js
Context: Chrome extension permission

Instruction: permission "management"
Page: https://developer.chrome.com/docs/extensions/mv3/permission_warnings/
Effect: Permission to manage your apps, extensions, and themes
Language: js
Context: Chrome extension permission

Instruction: permission "nativeMessaging"
Page: https://developer.chrome.com/docs/extensions/mv3/permission_warnings/
Effect: Permission to communicate with cooperative native applications
Language: js
Context: Chrome extension permission

Instruction: permission "notifications"
Page: https://developer.chrome.com/docs/extensions/mv3/permission_warnings/
Effect: Permission to display notifications
Language: js
Context: Chrome extension permission

Instruction: permission "pageCapture"
Page: https://developer.chrome.com/docs/extensions/mv3/permission_warnings/
Effect: Permission to read and change all your adta on the website you visit
Language: js
Context: Chrome extension permission

Instruction: permission "privacy"
Page: https://developer.chrome.com/docs/extensions/mv3/permission_warnings/
Effect: Permission to change your privacy-related settings
Language: js
Context: Chrome extension permission

Instruction: permission "proxy"
Page: https://developer.chrome.com/docs/extensions/mv3/permission_warnings/
Effect: Permission to read and change all your data on the websites you visit
Language: js
Context: Chrome extension permission

Instruction: permission "system.storage"
Page: https://developer.chrome.com/docs/extensions/mv3/permission_warnings/
Effect: Permission to identify and eject storage devices
Language: js
Context: Chrome extension permission

Instruction: permission "tabCapture"
Page: https://developer.chrome.com/docs/extensions/mv3/permission_warnings/
Effect: Permission to read and change all your adat on the websites your visit
Language: js
Context: Chrome extension permission

Instruction: permission "tabs"
Page: https://developer.chrome.com/docs/extensions/mv3/permission_warnings/
Effect: Permission to access to privileged fields of the Tab objects
Language: js
Context: Chrome extension permission

Instruction: permission "topSites"
Page: https://developer.chrome.com/docs/extensions/mv3/permission_warnings/
Effect: Permission to read a list of your most frequently visited websites
Language: js
Context: Chrome extension permission

Instruction: permission "ttsEngine"
Page: https://developer.chrome.com/docs/extensions/mv3/permission_warnings/
Effect: Permission to read all text spoken using synthetiszed speech
Language: js
Context: Chrome extension permission

Instruction: permission "webNavigation"
Page: https://developer.chrome.com/docs/extensions/mv3/permission_warnings/
Effect: Permission to read your browsing history
Language: js
Context: Chrome extension permission

Instruction: __MSG__name__
Page: https://developer.chrome.com/docs/extensions/mv3/permission_warnings/
Language: js
Context: Chrome extension permission
Returns: The localized value for name

Variable: ["NAME"]["description"]
Meaning: description of the value represented by NAME
Page: https://developer.chrome.com/docs/extensions/mv3/permission_warnings/
Context: Chrome messages.json
Language: json

Variable: ["NAME"]["message"]
Meaning: The localized message related to NAME. With $VAR_NAME$ for variables names
Page: https://developer.chrome.com/docs/extensions/mv3/permission_warnings/
Context: Chrome messages.json
Language: json

Variable: ["NAME"]["placeholders"]["VAR_NAME"]["example"]
Meaning: Example of some value for $VAR_NAME$ in the NAME message
Page: https://developer.chrome.com/docs/extensions/mv3/permission_warnings/
Context: Chrome messages.json
Language: json
Extra: To help translator understand what is expected here

Variable: ["NAME"]["placeholders"]["VAR_NAME"]["content"]
Meaning: A substitution string to use with i18n.getMessage. E.g. $1
Page: https://developer.chrome.com/docs/extensions/mv3/permission_warnings/
Context: Chrome messages.json
Language: json

Variable: ["options_ui"]["page"]
Meaning: Path to the options page, relative to the extension's root.
Page: https://developer.chrome.com/docs/extensions/mv3/options/
Context: Chrome manifest.json
Language: json

Variable: ["options_ui"]["open_in_tab"]
Meaning: Whether the options are opened in their own tab
Page: https://developer.chrome.com/docs/extensions/mv3/options/
Context: Chrome manifest.json
Language: json

Variable: "nameshort_"
Meaning: Name to use when full name is too long
Page: https://developer.chrome.com/docs/extensions/mv3/manifest/
Context: Chrome extension, manifest.json
Language: json
Typ: string, at most 12 chars

Variable: "version_name"
Meaning: a descriptive version string representing the version (beta, rc,...)
Page: https://developer.chrome.com/docs/extensions/mv3/manifest/
Context: Chrome extension, manifest.json
Language: json
Initialization: version

Variable: "_locales"
Meaning: Specifies the subdirectory of _locales that contains the default strings for this extension
Page: https://developer.chrome.com/docs/extensions/mv3/manifest/
Context: Chrome extension, manifest.json
Language: json
Initialization: version
Assuming: Present iff there is a _locales directory

Question: Which icons size are required
Answer: 218 for installation and chrome web store
Page: https://developer.chrome.com/docs/extensions/mv3/manifest/
Chapter: version
Context: Chrome extension, manifest.json
Answer2: 48 for extension management page

Question: Extension management page uses an icon of which size
Answer: 48
Page: https://developer.chrome.com/docs/extensions/mv3/manifest/
Chapter: version
Context: Chrome extension, manifest.json

Question: Favicons uses an icon of which size
Answer: 16
Page: https://developer.chrome.com/docs/extensions/mv3/manifest/
Chapter: version
Context: Chrome extension, manifest.json

Question: Installation uses an icon of which size
Answer: 128
Page: https://developer.chrome.com/docs/extensions/mv3/manifest/
Chapter: version
Context: Chrome extension, manifest.json

Question: Chrome web store uses an icon of which size
Answer: 128
Page: https://developer.chrome.com/docs/extensions/mv3/manifest/
Chapter: version
Context: Chrome extension, manifest.json

Variable: ["file_system_provider_capabilities"]["configurable"]
Meaning: Whether configuring via onConfigureRequested is supported
Page: https://developer.chrome.com/docs/extensions/mv3/manifest/
Context: Chrome extension, manifest.json
Language: js
Chapter: version
Initialization: false

Variable: ["file_system_provider_capabilities"]["multiple_mounts"]
Meaning: Whether multiple (more than one) mounted file systems are supported.
Page: https://developer.chrome.com/docs/extensions/mv3/manifest/
Context: Chrome extension, manifest.json
Language: js
Chapter: version
Initialization: false

Variable: ["file_system_provider_capabilities"]["source"]
Meaning: Source of data for mounted file systems.
Page: https://developer.chrome.com/docs/extensions/mv3/manifest/
Context: Chrome extension, manifest.json
Language: js
Chapter: version

Question: which options of file_system_provider_capabilities are mandatory
Answer: source: the source of data for mounted file system
Page: https://developer.chrome.com/docs/extensions/mv3/manifest/
Chapter: version
Context: Chrome extension, manifest.json

Variable: ["incognito"]
Page: https://developer.chrome.com/docs/extensions/mv3/manifest/
Context: Chrome extension, manifest.json
Language: js
Chapter: version
Initialization: "spanning", which means that the extension will run in a single shared process
Value: "split" mode means that all pages in an incognito window will run in their own incognito process.
Value2: "not_allowed"

Variable: ["key"]
Meaning: the unique ID of an extension, app, or theme when it is loaded during development.
Page: https://developer.chrome.com/docs/extensions/mv3/manifest/
Context: Chrome extension, manifest.json
Language: js
Chapter: version

Variable: ["nacl_modules"]
Meaning: A list of nacl_module
Page: https://developer.chrome.com/docs/extensions/mv3/manifest/
Context: Chrome extension, manifest.json
Language: js
Chapter: version

Typ: nacl_module
Meaning: allow to open a MIME by a native client module
Page: https://developer.chrome.com/docs/extensions/mv3/manifest/
Language: js
Chapter: version
Context: Chrome extension, manifest.json

Variable: mod["path"]
Meaning: the location of a Native Client manifest (a .nmf file) within the extension directory
Page: https://developer.chrome.com/docs/extensions/mv3/manifest/
Context: Chrome extension, manifest.json
Language: js
Chapter: version
Variables: nacl_module mod

Variable: mod["mime_type"]
Meaning: the mime type for this nacl_module
Page: https://developer.chrome.com/docs/extensions/mv3/manifest/
Context: Chrome extension, manifest.json
Language: js
Chapter: version
Variables: nacl_module mod

Variable: requirements
Meaning: The technologies that are required for this extension and their properties
Page: https://developer.chrome.com/docs/extensions/mv3/manifest/
Context: Chrome extension, manifest.json
Language: js

Question: What are current possible requirements for extension
Answer: 3D
Page: https://developer.chrome.com/docs/extensions/mv3/manifest/
Context: Chrome extension, manifest.json

Variable: ["sandbox"]["content_security_policy"]
Meaning: the content security policy of those sandbox
Page: https://developer.chrome.com/docs/extensions/mv3/manifest/
Context: Chrome extension, manifest.json
Language: js
Initialization: sandbox allow-scripts allow-forms allow-popups allow-modals; script-src 'self' 'unsafe-inline' 'unsafe-eval'; child-src 'self';

Variable: ["storage"]["managed_schema"]
Meaning: schema for storage in the managed storage area
Page: https://developer.chrome.com/docs/extensions/mv3/manifest/
Context: Chrome extension, manifest.json
Language: js
Typ: json schema

Variable: ["web_accessible_resources"]
Meaning: Array of ressources accessible from webpages
Page: https://developer.chrome.com/docs/extensions/mv3/manifest/
Context: Chrome extension, manifest.json
Language: js
Typ: json schema

Variable: web_accessible_resource["ressources"]
Meaning: An array of pattern of resources to be exposed.
Page: https://developer.chrome.com/docs/extensions/mv3/manifest/
Context: Chrome extension, manifest.json
Language: js
Typ: json schema
Variables: A web_accessible_resource

Variable: web_accessible_resource["matches"]
Meaning: A list of URL match patterns specifying which origin can access the resources.
Page: https://developer.chrome.com/docs/extensions/mv3/manifest/
Context: Chrome extension, manifest.json
Language: js
Typ: json schema
Variables: A web_accessible_resource

Variable: web_accessible_resource["extension_ids"]
Meaning: A list of extension IDs, specifying which extensions can access the resources.
Page: https://developer.chrome.com/docs/extensions/mv3/manifest/
Context: Chrome extension, manifest.json
Language: js
Typ: json schema
Variables: A web_accessible_resource

Variable: web_accessible_resource["use_dynamic_url"]
Meaning: Whether to only allow resources to be accessible through dynamic ID
Page: https://developer.chrome.com/docs/extensions/mv3/manifest/
Context: Chrome extension, manifest.json
Language: js
Typ: json schema
Variables: A web_accessible_resource

Name: chrome.accessibilityFeatures
Definition: API to manage Chrome's accessibility features
Page: https://developer.chrome.com/docs/extensions/reference/
Context: Chrome extension
Extra: TODO: do API
Typ: json schema

Name: chrome.action
Definition: API to control the extension's icon in the Google Chrome toolbar.
Page: https://developer.chrome.com/docs/extensions/reference/
Context: Chrome extension
Extra: TODO: do API

Name: chrome.alarms
Definition: API to schedule code to run periodically or at a specified time in the future.
Page: https://developer.chrome.com/docs/extensions/reference/
Context: Chrome extension
Extra: TODO: do API

Name: chrome.audio
Definition: API to allow users to get information about and control the audio devices attached to the system
Page: https://developer.chrome.com/docs/extensions/reference/
Context: Chrome extension
Extra: TODO: do API
Assuming: ChromeOS only

Name: chrome.wallpaper
Definition: API to change the ChromeOS wallpaper
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.bookmarks
Definition: API to create, organize, and otherwise manipulate bookmarks
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.browserData
Definition: API to remove browsing data from a user's local profile.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.certificateProvider
Definition: API to expose certificates to the platform which can use these certificates for TLS authentications.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.commands
Definition: API to add keyboard shortcuts that trigger actions in your extension
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.contentSettings
Definition: API to change settings that control whether websites can use features such as cookies, JavaScript, and plugins
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.contextMenus
Definition: API to add items to Google Chrome's context menu
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.cookies
Definition: API to query and modify cookies, and to be notified when they change.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.debugger
Definition: API to serves as an alternate transport for Chrome's remote debugging protocol.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.declarativeNetRequest
Definition: API to block or modify network requests by specifying declarative rules.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.desktopCapture
Definition: API to capture content of screen, individual windows or tabs.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.inspectedWindow
Definition: API to nteract with the inspected window: obtain the tab ID for the inspected page, evaluate the code in the context of the inspected window, reload the page, or obtain the list of resources within the page.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.network
Definition: API to retrieve the information about network requests displayed by the Developer Tools in the Network panel.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.panels
Definition: API to integrate your extension into Developer Tools window UI: create your own panels, access existing panels, and add sidebars.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.documentScan
Definition: API to discover and retrieve images from attached paper document scanners.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.dom
Definition: API to access special DOM APIs for Extensions
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.downloads
Definition: API to programmatically initiate, monitor, manipulate, and search for downloads.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.entreprise
Definition: API to deal with entreprise policy
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.events
Definition: Common types used by APIs dispatching events to notify you when something interesting happens.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.extension
Definition: API with utilities that can be used by any extension page.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: t includes support for exchanging messages between an extension and its content scripts or between extensions, as described in detail in Message Passing.
TODO: do API

Name: chrome.extensionTypes
Definition: API contains type declarations for Chrome extensions.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.fileBrowserHandler
Definition: API to extend the file browser.
Page: https://developer.chrome.com/docs/extensions/reference/
Example: you can use this API to enable users to upload files to your website.
Extra: TODO: do API
Assuming: Assume Chrome OS

Name: chrome.fileSystemProvider
Definition: API to create file systems, that can be accessible from the file manager on Chrome OS.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API
Assuming: Chrome OS

Name: input.ime
Definition: API to implement a custom IME
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API
Assuming: Assume Chrome OS

Name: chrome.networking.onc
Definition: API is used for configuring network connections (Cellular, Ethernet, VPN or WiFi)
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API
Assuming: in auto-launched Chrome OS kiosk sessions.

Name: chrome.fontSettings
Definition: API to manage Chrome's font settings.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.gcm
Definition: API to enable apps and extensions to send and receive messages through the Google Cloud Messaging Service.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.history
Definition: API to interact with the browser's record of visited pages.
Page: https://developer.chrome.com/docs/extensions/reference/
Example: add, remove, and query for URLs in the browser's history
Extra: TODO: do API

Name: chrome.i18n
Definition: API to implement internationalization across your whole app or extension.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.identity
Definition: API to get OAuth2 access tokens.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.idle
Definition: API to detect when the machine's idle state changes.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.instanceID
Definition: API to access the Instance ID service.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.loginState
Definition: API to read and monitor the login state.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.management
Definition: API provides ways to manage the list of extensions/apps that are installed and running
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.notifications
Definition: API to create rich notifications using templates and show these notifications to users in the system tray.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.omnibox
Definition: API to register a keyword with Google Chrome's address bar
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.pageCapture
Definition: API to save a tab as MHTML
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.permissions
Definition: API to request declared optional permissions at run time rather than install time, so users understand why the permissions are needed and grant only those that are necessary.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.platformKeys
Definition: API to access client certificates managed by the platform.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: If the user or policy grants the permission, an extension can use such a certficate in its custom authentication protocol. E.g. this allows usage of platform managed certificates in third party VPNs (see {@link vpnProvider chrome.vpnProvider}).
TODO: do API

Name: chrome.power
Definition: API to override the system's power management features.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.printerProvider
Definition: API exposes events used by print manager to query printers controlled by extensions, to query their capabilities and to submit print jobs to these printers.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.printing
Definition: API to send print jobs to printers installed on Chromebook.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.printingMetrics
Definition: API to fetch data about printing usage.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.privacy
Definition: API to control usage of the features in Chrome that can affect a user's privacy
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API
Assuming: API relies on the ChromeSetting prototype of the type API for getting and setting Chrome's configuration.

Name: chrome.proxy
Definition: API to manage Chrome's proxy settings
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API
Assuming: relies on the ChromeSetting prototype of the type API for getting and setting the proxy configuration.

Name: chrome.runtime
Definition: API to retrieve the background page, return details about the manifest, and listen for and respond to events in the app or extension lifecycle
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: You can also use this API to convert the relative path of URLs to fully-qualified URLs.
TODO: do API

Name: chrome.scripting
Definition: API to execute script in different contexts.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.search
Definition: API to search via the default provider
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.sessions
Definition: API to query and restore tabs and windows from a browsing session.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.storage
Definition: API to store, retrieve, and track changes to user data.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.system.cpu
Definition: API to query CPU metadata
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.system.display
Definition: API to query display metadata
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.system.memory
Definition: API to TODO?
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.system.storage
Definition: API to query storage device information and be notified when a removable storage device is attached and detached
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.tabCapture
Definition: API to interact with tab media streams.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.tabGroups
Definition: API to interact with the browser's tab grouping system
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: You can use this API to modify and rearrange tab groups in the browser. To group and ungroup tabs, or to query what tabs are in groups, use the chrome.tabs API.
TODO: do API

Name: chrome.tabs
Definition: API to interact with the browser's tab system
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: You can use this API to create, modify, and rearrange tabs in the browser.
TODO: do API

Name: chrome.topSites
Definition: API to access the top sites (i.e. most visited sites) that are displayed on the new tab page.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: These do not include shortcuts customized by the user.
TODO: do API

Name: chrome.tts
Definition: API to play synthesized text-to-speech (TTS).
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.ttsEngine
Definition: API to implement a text-to-speech(TTS) engine using an extension.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: If your extension registers using this API, it will receive events containing an utterance to be spoken and other parameters when any extension or Chrome App uses the {@link tts} API to generate speech. Your extension can then use any available web technology to synthesize and output the speech, and send events back to the calling function to report the status.
TODO: do API

Name: chrome.types
Definition: API contains type declarations for Chrome.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.virtualKeyboard
Definition: a kiosk only API used to configure virtual keyboard layout and behavior in kiosk sessions.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.vpnProvider
Definition: API to implement a VPN client.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.webNavigation
Definition: API to receive notifications about the status of navigation requests in-flight.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.webRequest
Definition: API to observe and analyze traffic and to intercept, block, or modify requests in-flight.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.windows
Definition: API to interact with browser windows.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: You can use this API to create, modify, and rearrange windows in the browser.
TODO: do API

Name: chrome.automation
Definition: API allows developers to access the automation (accessibility) tree for the browser
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: The tree resembles the DOM tree, but only exposes the semantic structure of a page. It can be used to programmatically interact with a page by examining names, roles, and states, listening for events, and performing actions on nodes.
TODO: do API

Name: chrome.processes
Definition: API to interact with the browser's processes.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API

Name: chrome.signedInDevices
Definition: API to get a list of devices signed into Chrome with the same account as the current profile.
Page: https://developer.chrome.com/docs/extensions/reference/
Extra: TODO: do API