Back to Chrome Extensions Samples

Chrome Extensions samples (Manifest v2)

_archive/mv2/readme.md

latest31.2 KB
Original Source

Chrome Extensions samples (Manifest v2)

Official samples for Chrome Extensions and the Chrome Apps platform. Note that Chrome Apps are deprecated—learn more on the Chromium blog.

For more information on extensions, see Chrome Developers.

Samples

The directory structure is as follows:

  • api/ - extensions focused on a single API package
  • howto/ - extensions that show how to perform a particular task
  • tutorials/ - multi-step walkthroughs referenced inline in the docs
  • extensions/ - full featured extensions spanning multiple API packages

To experiment with these samples, please clone this repo and use 'Load Unpacked Extension'. Read more on Getting Started.

SampleCalls
My Bookmarks
A browser action with a popup dump of all bookmarks, including search, add, edit and delete.<ul><li>bookmarks.create</li><li>bookmarks.getTree</li><li>bookmarks.remove</li><li>bookmarks.update</li><li>tabs.create</li></ul>
Page Redder
Make the current page red<ul><li>browserAction.onClicked</li><li>tabs.executeScript</li></ul>
Print this page
Adds a print button to the browser.<ul><li>browserAction.onClicked</li><li>tabs.executeScript</li></ul>
A browser action which changes its icon when clicked
Click browser action icon to change color!<ul><li>browserAction.onClicked</li><li>browserAction.setIcon</li><li>runtime.onInstalled</li><li>storage.StorageArea.get</li><li>storage.StorageArea.set</li></ul>
A browser action with a popup that changes the page color
Change the current page color<ul><li>tabs.executeScript</li></ul>
BrowsingData API: Basics
A trivial usage example.<ul><li>browsingData.remove</li></ul>
Sample Extension Commands extension
Press Ctrl+Shift+F to open the browser action popup, press Ctrl+Shift+Y to send an event.<ul><li>commands.onCommand</li></ul>
Content settings
Shows the content settings for the current site.<ul><li>contentSettings.ContentSetting.get</li><li>contentSettings.ContentSetting.set</li><li>tabs.query</li></ul>
Context Menus Sample
Shows some of the features of the Context Menus API<ul><li>contextMenus.create</li><li>extension.lastError</li></ul>
Context Menus Sample (with Event Page)
Shows some of the features of the Context Menus API using an event page<ul><li>contextMenus.create</li><li>contextMenus.onClicked</li><li>extension.lastError</li><li>runtime.onInstalled</li></ul>
Global Google Search
Use the context menu to search a different country's Google<ul><li>contextMenus.create</li><li>contextMenus.onClicked</li><li>contextMenus.remove</li><li>runtime.onInstalled</li><li>storage.onChanged</li><li>storage.StorageArea.get</li><li>storage.StorageArea.set</li><li>tabs.create</li></ul>
Cookie API Test Extension
Testing Cookie API<ul><li>browserAction.onClicked</li><li>cookies.getAll</li><li>cookies.onChanged</li><li>cookies.remove</li><li>extension.getURL</li><li>tabs.create</li><li>tabs.update</li><li>windows.getAll</li></ul>
Live HTTP headers
Displays the live log with the http requests headers<ul><li>browserAction.onClicked</li><li>debugger.attach</li><li>debugger.detach</li><li>debugger.onEvent</li><li>debugger.sendCommand</li><li>runtime.lastError</li><li>windows.create</li></ul>
JavaScript pause/resume
Pauses / resumes JavaScript execution<ul><li>browserAction.onClicked</li><li>browserAction.setIcon</li><li>browserAction.setTitle</li><li>debugger.attach</li><li>debugger.detach</li><li>debugger.onDetach</li><li>debugger.onEvent</li><li>debugger.sendCommand</li><li>runtime.lastError</li></ul>
Tab Flipper
Press Ctrl+Shift+Right or Ctrl+Shift+Left (Command+Shift+Right or Command+Shift+Left on a Mac) to flip through window tabs<ul><li>commands.onCommand</li><li>tabs.query</li><li>tabs.update</li></ul>
Desktop Capture Example
Show desktop media picker UI<ul><li>desktopCapture.cancelChooseDesktopMedia</li><li>desktopCapture.chooseDesktopMedia</li><li>runtime.onMessage</li><li>runtime.sendMessage</li></ul>
My Devices
A browser action with a popup dump of all devices signed into the same account as the current profile.<ul><li>signedInDevices.get</li><li>signedInDevices.onDeviceInfoChange</li></ul>
FirePHP for Chrome
Extends the Developer Tools, adding support for parsing FirePHP messages from server<ul><li>devtools.network.getHAR</li><li>devtools.network.onRequestFinished</li><li>extension.onRequest</li><li>extension.sendRequest</li><li>tabs.executeScript</li></ul>
Chrome Query
Extends the Developer Tools, adding a sidebar that displays the jQuery data associated with the selected DOM element.<ul><li>devtools.panels.ElementsPanel.createSidebarPane</li><li>devtools.panels.ElementsPanel.onSelectionChanged</li></ul>
tabCast
Creates a WiFi Display Session from the captured tab media stream using chrome.displaySource API.<ul><li>displaySource.getAvailableSinks</li><li>displaySource.onSessionTerminated</li><li>displaySource.onSinksUpdated</li><li>displaySource.startSession</li><li>displaySource.terminateSession</li><li>extension.getBackgroundPage</li><li>runtime.lastError</li><li>runtime.onMessage</li><li>runtime.sendMessage</li><li>tabCapture.capture</li><li>tabs.getCurrent</li></ul>
Document Scanning API Sample
<ul><li>documentScan.scan</li><li>permissions.contains</li><li>permissions.request</li><li>runtime.lastError</li></ul>
Download Filename Controller
Download Filename Controller<ul><li>downloads.onDeterminingFilename</li></ul>
Download Selected Links
Select links on a page and download them.<ul><li>downloads.download</li><li>extension.onRequest</li><li>extension.sendRequest</li><li>tabs.executeScript</li><li>tabs.query</li><li>windows.getCurrent</li></ul>
Download Manager Button
Browser Action Download Manager User Interface for Google Chrome<ul><li>browserAction.setIcon</li><li>downloads.acceptDanger</li><li>downloads.cancel</li><li>downloads.download</li><li>downloads.erase</li><li>downloads.getFileIcon</li><li>downloads.onChanged</li><li>downloads.onCreated</li><li>downloads.onErased</li><li>downloads.open</li><li>downloads.pause</li><li>downloads.removeFile</li><li>downloads.resume</li><li>downloads.search</li><li>downloads.setShelfEnabled</li><li>downloads.show</li><li>downloads.showDefaultFolder</li><li>i18n.getMessage</li><li>permissions.contains</li><li>permissions.request</li><li>runtime.onMessage</li><li>runtime.sendMessage</li><li>tabs.create</li></ul>
Download and Open Button
Download and Open Context Menu Button<ul><li>contextMenus.create</li><li>contextMenus.onClicked</li><li>downloads.download</li><li>downloads.onChanged</li><li>downloads.open</li><li>i18n.getMessage</li></ul>
Downloads Overwrite Existing Files
All downloads overwrite existing files instead of adding ' (1)', ' (2)', etc.<ul><li>downloads.onDeterminingFilename</li></ul>
Event Page Example
Demonstrates usage and features of the event page<ul><li>alarms.create</li><li>alarms.onAlarm</li><li>bookmarks.onRemoved</li><li>browserAction.onClicked</li><li>browserAction.setBadgeText</li><li>commands.onCommand</li><li>declarativeWebRequest.RedirectRequest</li><li>declarativeWebRequest.RequestMatcher</li><li>runtime.onInstalled</li><li>runtime.onMessage</li><li>runtime.onSuspend</li><li>runtime.sendMessage</li><li>tabs.create</li><li>tabs.executeScript</li><li>tabs.query</li><li>tabs.sendMessage</li></ul>
extension.isAllowedFileSchemeAccess and extension.isAllowedIncognitoAccess Example
Demonstrates the extension.isAllowedFileSchemeAccess and extesion.isAllowedIncognitoAccess APIs<ul><li>extension.isAllowedFileSchemeAccess</li><li>extension.isAllowedIncognitoAccess</li></ul>
Fake Archive Handler App
Demonstrate File System Provider API usage for apps.<ul><li>fileSystemProvider.get</li><li>fileSystemProvider.mount</li><li>fileSystemProvider.onCloseFileRequested</li><li>fileSystemProvider.onGetMetadataRequested</li><li>fileSystemProvider.onOpenFileRequested</li><li>fileSystemProvider.onReadDirectoryRequested</li><li>fileSystemProvider.onReadFileRequested</li><li>fileSystemProvider.onUnmountRequested</li><li>fileSystemProvider.unmount</li><li>runtime.lastError</li><li>runtime.onStartup</li><li>runtime.onSuspend</li><li>storage.StorageArea.get</li><li>storage.StorageArea.set</li></ul>
File System Provider API Extension Example
Demonstrate features of the API like mounting, listing directories, etc for extensions.<ul><li>fileSystemProvider.mount</li><li>fileSystemProvider.onCloseFileRequested</li><li>fileSystemProvider.onGetMetadataRequested</li><li>fileSystemProvider.onMountRequested</li><li>fileSystemProvider.onOpenFileRequested</li><li>fileSystemProvider.onReadDirectoryRequested</li><li>fileSystemProvider.onReadFileRequested</li><li>fileSystemProvider.onUnmountRequested</li><li>fileSystemProvider.unmount</li><li>runtime.lastError</li></ul>
Advanced Font Settings
Customize per-script font settings.<ul><li>fontSettings.clearDefaultFixedFontSize</li><li>fontSettings.clearDefaultFontSize</li><li>fontSettings.clearFont</li><li>fontSettings.clearMinimumFontSize</li><li>fontSettings.getDefaultFixedFontSize</li><li>fontSettings.getDefaultFontSize</li><li>fontSettings.getFont</li><li>fontSettings.getFontList</li><li>fontSettings.getMinimumFontSize</li><li>fontSettings.onDefaultFixedFontSizeChanged</li><li>fontSettings.onDefaultFontSizeChanged</li><li>fontSettings.onFontChanged</li><li>fontSettings.onMinimumFontSizeChanged</li><li>fontSettings.setDefaultFixedFontSize</li><li>fontSettings.setDefaultFontSize</li><li>fontSettings.setFont</li><li>fontSettings.setMinimumFontSize</li></ul>
History Override
Overrides the History Page<ul><li>history.deleteAll</li><li>history.deleteUrl</li><li>history.search</li></ul>
Typed URL History
Reads your history, and shows the top ten pages you go to by typing the URL.<ul><li>history.getVisits</li><li>history.search</li><li>tabs.create</li></ul>
CLD
Displays the language of a tab<ul><li>browserAction.setBadgeText</li><li>tabs.detectLanguage</li><li>tabs.onSelectionChanged</li><li>tabs.onUpdated</li><li>tabs.query</li></ul>
Detect Language
Detects up to 3 languages and their percentages of the provided string<ul><li>i18n.detectLanguage</li></ul>
AcceptLanguage
Returns accept languages of the browser<ul><li>i18n.getAcceptLanguages</li><li>i18n.getMessage</li></ul>
Minimal Localized Hosted App
This is the minimal set of data required to upload a localized hosted application to the web store.<ul></ul>
Idle - Simple Example
Demonstrates the Idle API<ul><li>browserAction.onClicked</li><li>extension.getBackgroundPage</li><li>idle.onStateChanged</li><li>idle.queryState</li></ul>
Test IME
A simple IME that converts all keystrokes to upper case.<ul><li>input.ime</li><li>input.ime.commitText</li><li>input.ime.onActivate</li><li>input.ime.onBlur</li><li>input.ime.onDeactivated</li><li>input.ime.onFocus</li><li>input.ime.onKeyEvent</li></ul>
Message Timer
Times how long it takes to send a message to a content script and back.<ul><li>runtime.onConnect</li><li>runtime.onMessage</li><li>tabs.connect</li><li>tabs.query</li><li>tabs.sendMessage</li></ul>
Native Messaging Example
Send a message to a native application.<ul><li>runtime.connectNative</li></ul>
Notification Demo
Shows off desktop notifications, which are "toast" windows that pop up on the desktop.<ul></ul>
Omnibox New Tab Search
Type 'nt' plus a search term into the Omnibox to open search in new tab.<ul><li>omnibox.onInputEntered</li><li>tabs.create</li></ul>
Omnibox Example
To use, type 'omnix' plus a search term into the Omnibox.<ul><li>omnibox.onInputChanged</li><li>omnibox.onInputEntered</li></ul>
Blank new tab page
Override the new tab page with a blank one<ul></ul>
iGoogle new tab page
Override the new tab page with iGoogle<ul></ul>
Page action by content
Shows a page action for HTML pages containing a video<ul><li>declarativeContent.PageStateMatcher</li><li>declarativeContent.ShowPageAction</li><li>runtime.onInstalled</li></ul>
Page action by URL
Shows a page action for urls which have the letter 'g' in them.<ul><li>declarativeContent.PageStateMatcher</li><li>declarativeContent.ShowPageAction</li><li>runtime.onInstalled</li></ul>
Animated Page Action
This extension adds an animated browser action to the toolbar.<ul><li>pageAction.hide</li><li>pageAction.onClicked</li><li>pageAction.setIcon</li><li>pageAction.setTitle</li><li>pageAction.show</li><li>tabs.onSelectionChanged</li><li>tabs.query</li></ul>
Top Chrome Extension Questions
Sample demonstration of the optional permissions API.<ul><li>permissions.contains</li><li>permissions.onAdded</li><li>permissions.onRemoved</li><li>permissions.remove</li><li>permissions.request</li><li>tabs.create</li></ul>
Keep Awake
Override system power-saving settings.<ul><li>browserAction.onClicked</li><li>browserAction.setIcon</li><li>browserAction.setTitle</li><li>i18n.getMessage</li><li>power.releaseKeepAwake</li><li>power.requestKeepAwake</li><li>runtime.onInstalled</li><li>runtime.onStartup</li><li>storage.StorageArea.get</li><li>storage.StorageArea.set</li></ul>
Block/allow third-party cookies API example extension
Sample extension which demonstrates how to access a preference.<ul><li>extension.isAllowedIncognitoAccess</li></ul>
Block/allow referrer API example extension
Sample extension which demonstrates how to access a preference.<ul><li>extension.isAllowedIncognitoAccess</li></ul>
Print Extension
Sends print job directly to the printers installed on the Chromebook<ul><li>printing.getPrinterInfo</li><li>printing.getPrinters</li><li>printing.submitJob</li><li>runtime.lastError</li></ul>
Print Job History
Reads your print history and displays the recent print jobs.<ul><li>browserAction.setBadgeText</li><li>printingMetrics.getPrintJobs</li><li>printingMetrics.onPrintJobFinished</li><li>storage.StorageArea.get</li><li>storage.StorageArea.set</li></ul>
Process Monitor
Adds a browser action that monitors resource usage of all browser processes.<ul><li>processes.onUpdatedWithMemory</li><li>processes.terminate</li></ul>
Show Tabs in Process
Adds a browser action showing which tabs share the current tab's process.<ul><li>processes.getProcessIdForTab</li><li>tabs.query</li><li>tabs.update</li><li>windows.getAll</li><li>windows.getCurrent</li><li>windows.update</li></ul>
Stylizr
Spruce up your pages with custom CSS.<ul><li>extension.getURL</li><li>runtime.lastError</li><li>storage.local</li><li>storage.StorageArea.clear</li><li>storage.StorageArea.get</li><li>storage.StorageArea.remove</li><li>storage.StorageArea.set</li><li>tabs.insertCSS</li></ul>
Tab Capture Example
Capture a tab and play in a<ul><li>browserAction.onClicked</li><li>storage.StorageArea.get</li><li>storage.StorageArea.set</li><li>tabCapture.capture</li><li>tabCapture.getMediaStreamId</li></ul>
Tab Inspector
Utility for working with the extension tabs api<ul><li>browserAction.onClicked</li><li>extension.getURL</li><li>tabs.create</li><li>tabs.get</li><li>tabs.getAllInWindow</li><li>tabs.move</li><li>tabs.onAttached</li><li>tabs.onCreated</li><li>tabs.onDetached</li><li>tabs.onMoved</li><li>tabs.onRemoved</li><li>tabs.onSelectionChanged</li><li>tabs.onUpdated</li><li>tabs.query</li><li>tabs.remove</li><li>tabs.update</li><li>windows.create</li><li>windows.get</li><li>windows.getAll</li><li>windows.getCurrent</li><li>windows.getLastFocused</li><li>windows.onCreated</li><li>windows.onFocusChanged</li><li>windows.onRemoved</li><li>windows.remove</li><li>windows.update</li></ul>
Keyboard Pin
Creates a keyboard shortcut (Alt + Shift + P) to toggle the pinned state of the currently selected tab<ul><li>commands.onCommand</li><li>tabs.query</li><li>tabs.update</li></ul>
Test Screenshot Extension
Demonstrate screenshot functionality in the chrome.tabs api.<ul><li>browserAction.onClicked</li><li>extension.getURL</li><li>extension.getViews</li><li>tabs.captureVisibleTab</li><li>tabs.create</li><li>tabs.onUpdated</li></ul>
Tabs Zoom API Demo
This extension allows the user to explore features of the new tabs zoom api.<ul><li>runtime.lastError</li><li>tabs.getZoom</li><li>tabs.getZoomSettings</li><li>tabs.onZoomChange</li><li>tabs.query</li><li>tabs.setZoom</li><li>tabs.setZoomSettings</li></ul>
Top Sites
Shows the top sites in a browser action<ul><li>tabs.create</li><li>topSites.get</li></ul>
NTP prototyping extension
extension to prototype new NTP designs<ul><li>topSites.get</li></ul>
Console TTS Engine
A "silent" TTS engine that prints text to a small window rather than synthesizing speech.<ul><li>extension.getViews</li><li>ttsEngine.onSpeak</li><li>ttsEngine.onStop</li><li>windows.create</li><li>windows.getCurrent</li><li>windows.onRemoved</li></ul>
Drink Water Event Popup
Demonstrates usage and features of the event page by reminding user to drink water<ul><li>alarms.clearAll</li><li>alarms.create</li><li>alarms.onAlarm</li><li>browserAction.setBadgeText</li><li>notifications.create</li><li>notifications.onButtonClicked</li><li>storage.StorageArea.get</li><li>storage.StorageArea.set</li></ul>
WebNavigation Tech Demo
Demonstration of the WebNavigation extension API.<ul><li>i18n.getMessage</li><li>runtime.onMessage</li><li>runtime.onStartup</li><li>runtime.sendMessage</li><li>storage.StorageArea.get</li><li>storage.StorageArea.set</li><li>webNavigation.onBeforeNavigate</li><li>webNavigation.onCommitted</li><li>webNavigation.onCompleted</li><li>webNavigation.onCreatedNavigationTarget</li><li>webNavigation.onErrorOccurred</li><li>webNavigation.onHistoryStateUpdated</li><li>webNavigation.onReferenceFragmentUpdated</li></ul>
Webview transparency
Sample of the webview.captureVisibleRegion api<ul></ul>
WebView Extension Communications Demo: App
<ul><li>runtime.connect</li></ul>
WebView Extension Communications Demo: Extension
Provides content scripts to an app hosting a WebView.<ul><li>runtime.id</li><li>runtime.onConnectExternal</li></ul>
Merge Windows
Merges all of the browser's windows into the current window<ul><li>browserAction.onClicked</li><li>tabs.getAllInWindow</li><li>tabs.move</li><li>windows.getAll</li><li>windows.getCurrent</li></ul>
Chrome Apps
A collection of samples demonstrating the Chrome App platform.<ul></ul>
App Launcher
Get access to your apps in a browser action<ul><li>extension.getURL</li><li>management.getAll</li><li>management.launchApp</li><li>tabs.create</li></ul>
Chromium Buildbot Monitor
Displays the status of the Chromium buildbot in the toolbar. Click to see more detailed status in a popup.<ul><li>browserAction.setBadgeBackgroundColor</li><li>browserAction.setBadgeText</li><li>browserAction.setTitle</li><li>extension.getBackgroundPage</li><li>extension.getURL</li><li>extension.getViews</li><li>storage.StorageArea.get</li><li>storage.StorageArea.set</li></ul>
Google Calendar Checker (by Google)
Quickly see the time until your next meeting from any of your calendars. Click on the button to be taken to your calendar.<ul><li>browserAction.onClicked</li><li>browserAction.setBadgeBackgroundColor</li><li>browserAction.setBadgeText</li><li>i18n.getMessage</li><li>management.uninstallSelf</li><li>notifications.clear</li><li>notifications.create</li><li>notifications.onButtonClicked</li><li>notifications.onClicked</li><li>runtime.getURL</li><li>runtime.id</li><li>runtime.onInstalled</li><li>tabs.create</li></ul>
CatBlock
I can't has cheezburger!<ul><li>webRequest.onBeforeRequest</li></ul>
Catifier
Moar cats!<ul><li>declarativeWebRequest.IgnoreRules</li><li>declarativeWebRequest.RedirectRequest</li><li>declarativeWebRequest.RequestMatcher</li><li>runtime.lastError</li><li>runtime.onInstalled</li></ul>
Chromium Search
Add support to the omnibox to search the Chromium source code.<ul><li>omnibox.onInputCancelled</li><li>omnibox.onInputChanged</li><li>omnibox.onInputEntered</li><li>omnibox.onInputStarted</li><li>omnibox.setDefaultSuggestion</li><li>tabs.query</li><li>tabs.update</li></ul>
Constant Context
Highlights elements with keywords on developer.chrome<ul><li>declarativeContent.PageStateMatcher</li><li>declarativeContent.ShowPageAction</li><li>runtime.onInstalled</li><li>storage.StorageArea.clear</li><li>storage.StorageArea.get</li><li>storage.StorageArea.set</li><li>tabs.executeScript</li></ul>
Download Images
Displays all webpage images and allows user to download<ul><li>declarativeContent.PageStateMatcher</li><li>declarativeContent.ShowPageAction</li><li>downloads.download</li><li>runtime.lastError</li><li>runtime.onInstalled</li><li>storage.StorageArea.get</li><li>storage.StorageArea.set</li><li>tabs.create</li><li>tabs.executeScript</li></ul>
Email this page (by Google)
This extension adds an email button to the toolbar which allows you to email the page link using your default mail client or Gmail.<ul><li>browserAction.onClicked</li><li>runtime.connect</li><li>runtime.onConnect</li><li>tabs.create</li><li>tabs.executeScript</li><li>tabs.update</li></ul>
Chrome Sounds
Enjoy a more magical and immersive experience when browsing the web using the power of sound.<ul><li>bookmarks.onCreated</li><li>bookmarks.onMoved</li><li>bookmarks.onRemoved</li><li>extension.getBackgroundPage</li><li>extension.onRequest</li><li>extension.sendRequest</li><li>tabs.get</li><li>tabs.onAttached</li><li>tabs.onCreated</li><li>tabs.onDetached</li><li>tabs.onMoved</li><li>tabs.onRemoved</li><li>tabs.onSelectionChanged</li><li>tabs.onUpdated</li><li>windows.onCreated</li><li>windows.onFocusChanged</li><li>windows.onRemoved</li></ul>
Google Document List Viewer
Demonstrates how to use OAuth to connect the Google Documents List Data API.<ul><li>extension.getBackgroundPage</li><li>extension.getURL</li><li>tabs.create</li><li>tabs.onUpdated</li><li>tabs.query</li><li>tabs.remove</li></ul>
Google Mail Checker
Displays the number of unread messages in your Google Mail inbox. You can also click the button to open your inbox.<ul><li>alarms.create</li><li>alarms.get</li><li>alarms.onAlarm</li><li>browserAction.onClicked</li><li>browserAction.setBadgeBackgroundColor</li><li>browserAction.setBadgeText</li><li>browserAction.setIcon</li><li>i18n.getMessage</li><li>runtime.onInstalled</li><li>runtime.onStartup</li><li>runtime.onStartup</li><li>tabs.create</li><li>tabs.getAllInWindow</li><li>tabs.onUpdated</li><li>tabs.update</li><li>webNavigation.onDOMContentLoaded</li><li>webNavigation.onDOMContentLoaded</li><li>webNavigation.onReferenceFragmentUpdated</li><li>webNavigation.onReferenceFragmentUpdated</li><li>windows.onCreated</li></ul>
Imageinfo
Get image info for images, including EXIF data<ul><li>contextMenus.create</li><li>tabs.getCurrent</li><li>windows.create</li><li>windows.update</li></ul>
Chromium IRC App
<ul></ul>
Managed Bookmarks
Adds bookmarks configured by your system administrator to Chrome.<ul><li>bookmarks.create</li><li>bookmarks.getChildren</li><li>bookmarks.move</li><li>bookmarks.onChanged</li><li>bookmarks.onMoved</li><li>bookmarks.onRemoved</li><li>bookmarks.remove</li><li>bookmarks.removeTree</li><li>bookmarks.update</li><li>runtime.onInstalled</li><li>storage.StorageArea.get</li><li>storage.StorageArea.set</li><li>storage.StorageArea.get</li><li>storage.onChanged</li></ul>
Mappy
Finds addresses in the web page you're on and pops up a map window.<ul><li>pageAction.setTitle</li><li>pageAction.show</li><li>runtime.onMessage</li><li>runtime.sendMessage</li><li>storage.StorageArea.get</li><li>storage.StorageArea.set</li></ul>
Google Maps
<ul></ul>
News Reader (by Google)
Displays the latest stories from Google News in a popup.<ul><li>extension.getURL</li><li>i18n.getMessage</li><li>tabs.create</li></ul>
News Reader
Displays the first 5 items from the 'Google News - top news' RSS feed in a popup.<ul><li>tabs.create</li></ul>
News Reader
Displays the first 5 items from the '$Google$ News - top news' RSS feed in a popup.<ul></ul>
No Cookies
Removes 'Cookie' and 'Set-Cookie' headers.<ul><li>webRequest.onBeforeSendHeaders</li><li>webRequest.onHeadersReceived</li></ul>
Sample - OAuth Contacts
Uses OAuth to connect to Google's contacts service and display a list of your contacts.<ul><li>browserAction.onClicked</li><li>browserAction.setIcon</li><li>extension.getBackgroundPage</li><li>extension.getURL</li><li>tabs.create</li><li>tabs.onUpdated</li><li>tabs.query</li><li>tabs.remove</li></ul>
Optional Permissions New Tab
Demonstrates optional permissions in extensions<ul><li>permissions.contains</li><li>permissions.request</li><li>storage.StorageArea.get</li><li>storage.StorageArea.set</li><li>topSites.get</li></ul>
Per-plugin content settings
Customize your content setting for different plugins.<ul><li>contentSettings.plugins</li><li>contentSettings.ContentSetting.clear</li><li>contentSettings.ContentSetting.getResourceIdentifiers</li><li>contentSettings.ContentSetting.set</li><li>i18n.getMessage</li><li>runtime.lastError</li></ul>
Proxy Extension API Sample
Set Chrome-specific proxies; a demonstration of Chrome's Proxy API<ul><li>browserAction.setBadgeBackgroundColor</li><li>browserAction.setBadgeText</li><li>browserAction.setTitle</li><li>extension.isAllowedIncognitoAccess</li><li>extension.onRequest</li><li>extension.sendRequest</li><li>i18n.getMessage</li><li>proxy.onProxyError</li><li>runtime.lastError</li></ul>
Speak Selection
Speaks the current selection out loud.<ul><li>browserAction.onClicked</li><li>browserAction.setIcon</li><li>extension.getURL</li><li>extension.onRequest</li><li>extension.sendRequest</li><li>tabs.create</li><li>tabs.executeScript</li><li>tabs.sendRequest</li><li>tts.getVoices</li><li>tts.speak</li><li>tts.stop</li><li>windows.getAll</li></ul>
Talking Alarm Clock
A clock with two configurable alarms that will play a sound and speak a phrase of your choice.<ul><li>browserAction.setIcon</li><li>runtime.connect</li><li>runtime.onConnect</li><li>tts.getVoices</li><li>tts.speak</li><li>tts.stop</li></ul>
TTS Debug
Tool for developers of Chrome TTS engine extensions to help them test their engines are implementing the API correctly.<ul><li>tts.getVoices</li><li>tts.speak</li><li>tts.stop</li></ul>
TTS Demo
Demo Chrome's synthesized text-to-speech capabilities.<ul><li>runtime.lastError</li><li>tts.getVoices</li><li>tts.isSpeaking</li><li>tts.speak</li><li>tts.stop</li></ul>
Sandboxed Frame
Demonstrate use of handlebars inside a sandboxed frame<ul><li>browserAction.onClicked</li></ul>
Tab Shortcuts
Allows pinning and duplication of tabs via keyboard shortcuts.<ul><li>commands.onCommand</li><li>tabs.duplicate</li><li>tabs.update</li></ul>
Event Tracking with Google Analytics
A sample extension which uses Google Analytics to track usage.<ul></ul>
Broken Background Color
Fix an Extension!<ul><li>declarativeContent.PageStateMatcher</li><li>declarativeContent.ShowPageAction</li><li>storage.StorageArea.get</li><li>storage.StorageArea.set</li><li>tabs.executeScript</li></ul>
Getting Started Example
Build an Extension!<ul><li>runtime.onInstalled</li><li>storage.StorageArea.get</li><li>storage.StorageArea.set</li></ul>
Getting Started Example
Build an Extension!<ul><li>declarativeContent.PageStateMatcher</li><li>declarativeContent.ShowPageAction</li><li>runtime.onInstalled</li><li>storage.StorageArea.get</li><li>storage.StorageArea.set</li><li>tabs.executeScript</li><li>tabs.query</li></ul>
Getting started example
This extension allows the user to change the background color of the current page.<ul><li>runtime.lastError</li><li>storage.local</li><li>storage.sync</li><li>storage.StorageArea.get</li><li>storage.StorageArea.set</li><li>tabs.executeScript</li><li>tabs.query</li></ul>
Hello Extensions
Base Level Extension<ul></ul>
OAuth Tutorial FriendBlock
Uses OAuth to connect to Google's People API and display contacts photos.<ul><li>browserAction.onClicked</li><li>identity.getAuthToken</li><li>tabs.create</li></ul>
OAuth Tutorial FriendBlock
Uses OAuth to connect to Google's People API and display contacts photos.<ul><li>browserAction.onClicked</li><li>identity.getAuthToken</li><li>tabs.create</li></ul>