Sample Extensions

My Bookmarks
A browser action with a popup dump of all bookmarks, including search, add, edit and delete.
Source Files:

A browser action which changes its icon when clicked
Click browser action icon to change color!
Calls:
Source Files:

A browser action with a popup that changes the page color
Change the current page color
Calls:
Source Files:

Sample Extension Commands extension
Press Ctrl+Shift+F to open the browser action popup, press Ctrl+Shift+Y to send an event.
Calls:
Source Files:

Context Menus Sample (with Event Page)
Shows some of the features of the Context Menus API using an event page
Source Files:

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
My Devices
A browser action with a popup dump of all devices signed into the same account as the current profile.
Source Files:

FirePHP for Chrome
Extends the Developer Tools, adding support for parsing FirePHP messages from server
Calls:
Source Files:

Chrome Query
Extends the Developer Tools, adding a sidebar that displays the jQuery data associated with the selected DOM element.
Calls:
Source Files:

tabCast
Creates a WiFi Display Session from the captured tab media stream using chrome.displaySource API.
Calls:
Source Files:

Download Manager Button
Browser Action Download Manager User Interface for Google Chrome
Calls:
browserAction.setIcon
downloads.acceptDanger
downloads.cancel
downloads.download
downloads.erase
downloads.getFileIcon
downloads.onChanged
downloads.onCreated
downloads.onErased
downloads.open
downloads.pause
downloads.removeFile
downloads.resume
downloads.search
downloads.setShelfEnabled
downloads.show
downloads.showDefaultFolder
i18n.getMessage
permissions.contains
permissions.request
runtime.onMessage
runtime.sendMessage
tabs.create

Downloads Overwrite Existing Files
All downloads overwrite existing files instead of adding ' (1)', ' (2)', etc.
Source Files:

Event Page Example
Demonstrates usage and features of the event page
Calls:
alarms.create
alarms.onAlarm
bookmarks.onRemoved
browserAction.onClicked
browserAction.setBadgeText
commands.onCommand
declarativeWebRequest.RedirectRequest
declarativeWebRequest.RequestMatcher
runtime.onInstalled
runtime.onMessage
runtime.onSuspend
runtime.sendMessage
tabs.create
tabs.executeScript
tabs.query
tabs.sendMessage
Source Files:

`extension.isAllowedFileSchemeAccess` and `extension.isAllowedIncognitoAccess` Example
Demonstrates the `extension.isAllowedFileSchemeAccess` and `extesion.isAllowedIncognitoAccess` APIs
Fake Archive Handler App
Demonstrate File System Provider API usage for apps.
Calls:
fileSystemProvider.get
fileSystemProvider.mount
fileSystemProvider.onCloseFileRequested
fileSystemProvider.onGetMetadataRequested
fileSystemProvider.onOpenFileRequested
fileSystemProvider.onReadDirectoryRequested
fileSystemProvider.onReadFileRequested
fileSystemProvider.onUnmountRequested
fileSystemProvider.unmount
runtime.lastError
runtime.onStartup
runtime.onSuspend
storage.StorageArea.get
storage.StorageArea.set
Source Files:

File System Provider API Extension Example
Demonstrate features of the API like mounting, listing directories, etc for extensions.
Calls:
fileSystemProvider.mount
fileSystemProvider.onCloseFileRequested
fileSystemProvider.onGetMetadataRequested
fileSystemProvider.onMountRequested
fileSystemProvider.onOpenFileRequested
fileSystemProvider.onReadDirectoryRequested
fileSystemProvider.onReadFileRequested
fileSystemProvider.onUnmountRequested
fileSystemProvider.unmount
runtime.lastError
Source Files:

Advanced Font Settings
Customize per-script font settings.
Calls:
fontSettings.clearDefaultFixedFontSize
fontSettings.clearDefaultFontSize
fontSettings.clearFont
fontSettings.clearMinimumFontSize
fontSettings.getDefaultFixedFontSize
fontSettings.getDefaultFontSize
fontSettings.getFont
fontSettings.getFontList
fontSettings.getMinimumFontSize
fontSettings.onDefaultFixedFontSizeChanged
fontSettings.onDefaultFontSizeChanged
fontSettings.onFontChanged
fontSettings.onMinimumFontSizeChanged
fontSettings.setDefaultFixedFontSize
fontSettings.setDefaultFontSize
fontSettings.setFont
fontSettings.setMinimumFontSize
Source Files:
fonts128.png
fonts16.png
manifest.json
options.html
options.js
pending_changes.js
slider.css
slider.js
js/cr.js
css/chrome_shared.css
css/overlay.css
css/uber_shared.css
css/widgets.css
images/disabled_select.png
images/select.png
images/x-hover.png
images/x-pressed.png
images/x.png
images/slider/slide_bar_center.png
images/slider/slide_bar_disabled_center.png
images/slider/slide_bar_disabled_left.png
images/slider/slide_bar_disabled_right.png
images/slider/slide_bar_fill_center.png
images/slider/slide_bar_fill_left.png
images/slider/slider_bar_right.png
images/slider/slider_thumb.png
images/slider/slider_thumb_disabled.png
images/slider/slider_thumb_down.png
images/slider/slider_thumb_hover.png
js/cr/ui.js
js/cr/ui/overlay.js

History Override
Overrides the History Page
Typed URL History
Reads your history, and shows the top ten pages you go to by typing the URL.
Source Files:

Detect Language
Detects up to 3 languages and their percentages of the provided string
Calls:
Source Files:

AcceptLanguage
Returns accept languages of the browser
Minimal Localized Hosted App
This is the minimal set of data required to upload a localized hosted application to the web store.
Calls:

Idle - Simple Example
Demonstrates the Idle API
Notification Demo
Shows off desktop notifications, which are "toast" windows that pop up on the desktop.
Calls:
Source Files:

Omnibox New Tab Search
Type 'nt' plus a search term into the Omnibox to open search in new tab.
Animated Page Action
This extension adds an animated browser action to the toolbar.
Calls:
Source Files:

Top Chrome Extension Questions
Sample demonstration of the optional permissions API.
Calls:
Source Files:

Block/allow third-party cookies API example extension
Sample extension which demonstrates how to access a preference.
Source Files:

Block/allow referrer API example extension
Sample extension which demonstrates how to access a preference.
Source Files:

Print Extension
Sends print job directly to the printers installed on the Chromebook
Process Monitor
Adds a browser action that monitors resource usage of all browser processes.
Source Files:

Show Tabs in Process
Adds a browser action showing which tabs share the current tab's process.
Calls:
Source Files:

Tab Capture Example
Capture a tab and play in a
Tab Inspector
Utility for working with the extension tabs api
Calls:
browserAction.onClicked
extension.getURL
tabs.create
tabs.get
tabs.getAllInWindow
tabs.move
tabs.onAttached
tabs.onCreated
tabs.onDetached
tabs.onMoved
tabs.onRemoved
tabs.onSelectionChanged
tabs.onUpdated
tabs.query
tabs.remove
tabs.update
windows.create
windows.get
windows.getAll
windows.getCurrent
windows.getLastFocused
windows.onCreated
windows.onFocusChanged
windows.onRemoved
windows.remove
windows.update
Source Files:

Keyboard Pin
Creates a keyboard shortcut (Alt + Shift + P) to toggle the pinned state of the currently selected tab
Source Files:

Test Screenshot Extension
Demonstrate screenshot functionality in the chrome.tabs api.
Calls:
Source Files:

Tabs Zoom API Demo
This extension allows the user to explore features of the new tabs zoom api.
Calls:
Source Files:

Console TTS Engine
A "silent" TTS engine that prints text to a small window rather than synthesizing speech.
Calls:
Source Files:

Drink Water Event Popup
Demonstrates usage and features of the event page by reminding user to drink water
Calls:

WebNavigation Tech Demo
Demonstration of the WebNavigation extension API.
Calls:
i18n.getMessage
runtime.onMessage
runtime.onStartup
runtime.sendMessage
storage.StorageArea.get
storage.StorageArea.set
webNavigation.onBeforeNavigate
webNavigation.onCommitted
webNavigation.onCompleted
webNavigation.onCreatedNavigationTarget
webNavigation.onErrorOccurred
webNavigation.onHistoryStateUpdated
webNavigation.onReferenceFragmentUpdated

WebView Extension Communications Demo: Extension
Provides content scripts to an app hosting a WebView.
Source Files:

Merge Windows
Merges all of the browser's windows into the current window
Chromium Buildbot Monitor
Displays the status of the Chromium buildbot in the toolbar. Click to see more detailed status in a popup.
Calls:

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.
Calls:
Source Files:
manifest.json
views/options.html
javascript/background.js
javascript/options.js
images/icon-128.png
images/icon-16.png
images/icon-19.png
images/icon-38.png
images/icon-48.png
_locales/sr/messages.json
_locales/sk/messages.json
_locales/vi/messages.json
_locales/pt_BR/messages.json
_locales/hu/messages.json
_locales/fi/messages.json
_locales/el/messages.json
_locales/es/messages.json
_locales/de/messages.json
_locales/lv/messages.json
_locales/nl/messages.json
_locales/th/messages.json
_locales/ja/messages.json
_locales/ca/messages.json
_locales/cs/messages.json
_locales/id/messages.json
_locales/nb/messages.json
_locales/fr/messages.json
_locales/pl/messages.json
_locales/en/messages.json
_locales/zh_TW/messages.json
_locales/he/messages.json
_locales/es_419/messages.json
_locales/it/messages.json
_locales/pt_PT/messages.json
_locales/lt/messages.json
_locales/et/messages.json
_locales/en_GB/messages.json
_locales/fil/messages.json
_locales/sv/messages.json
_locales/hr/messages.json
_locales/ko/messages.json
_locales/da/messages.json
_locales/ro/messages.json
_locales/bg/messages.json
_locales/ar/messages.json
_locales/ru/messages.json
_locales/hi/messages.json
_locales/sl/messages.json
_locales/uk/messages.json
_locales/tr/messages.json
_locales/zh_CN/messages.json

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.
Calls:

Chrome Sounds
Enjoy a more magical and immersive experience when browsing the web using the power of sound.
Calls:
bookmarks.onCreated
bookmarks.onMoved
bookmarks.onRemoved
extension.getBackgroundPage
extension.onRequest
extension.sendRequest
tabs.get
tabs.onAttached
tabs.onCreated
tabs.onDetached
tabs.onMoved
tabs.onRemoved
tabs.onSelectionChanged
tabs.onUpdated
windows.onCreated
windows.onFocusChanged
windows.onRemoved
Source Files:

Google Document List Viewer
Demonstrates how to use OAuth to connect the Google Documents List Data API.
Calls:
Source Files:
README
background.html
chrome_ex_oauth.html
chrome_ex_oauth.js
chrome_ex_oauthsimple.js
manifest.json
options.html
popup.html
img/docs_spreadsheets-128.gif
img/docs_spreadsheets-32.gif
img/docs_spreadsheets-48.gif
js/jquery-1.4.1.min.js
img/icons/audio.gif
img/icons/document.gif
img/icons/file.gif
img/icons/folder.gif
img/icons/form.gif
img/icons/pdf.gif
img/icons/presentation.gif
img/icons/spreadsheet.gif

Google Mail Checker
Displays the number of unread messages in your Google Mail inbox. You can also click the button to open your inbox.
Calls:
alarms.create
alarms.get
alarms.onAlarm
browserAction.onClicked
browserAction.setBadgeBackgroundColor
browserAction.setBadgeText
browserAction.setIcon
i18n.getMessage
runtime.onInstalled
runtime.onStartup
runtime.onStartup
tabs.create
tabs.getAllInWindow
tabs.onUpdated
tabs.update
webNavigation.onDOMContentLoaded
webNavigation.onDOMContentLoaded
webNavigation.onReferenceFragmentUpdated
webNavigation.onReferenceFragmentUpdated
windows.onCreated
Source Files:
background.html
background.js
gmail_logged_in.png
gmail_not_logged_in.png
icon_128.png
manifest.json
_locales/es/messages.json
_locales/nl/messages.json
_locales/pt_BR/messages.json
_locales/ar/messages.json
_locales/sk/messages.json
_locales/pt_PT/messages.json
_locales/he/messages.json
_locales/lv/messages.json
_locales/hr/messages.json
_locales/nb/messages.json
_locales/fil/messages.json
_locales/hi/messages.json
_locales/sv/messages.json
_locales/ko/messages.json
_locales/cs/messages.json
_locales/da/messages.json
_locales/sl/messages.json
_locales/pl/messages.json
_locales/es_419/messages.json
_locales/en_GB/messages.json
_locales/fi/messages.json
_locales/zh_CN/messages.json
_locales/en/messages.json
_locales/vi/messages.json
_locales/hu/messages.json
_locales/el/messages.json
_locales/th/messages.json
_locales/id/messages.json
_locales/bg/messages.json
_locales/ca/messages.json
_locales/sr/messages.json
_locales/zh_TW/messages.json
_locales/ro/messages.json
_locales/ja/messages.json
_locales/tr/messages.json
_locales/uk/messages.json
_locales/it/messages.json
_locales/fr/messages.json
_locales/et/messages.json
_locales/ru/messages.json
_locales/lt/messages.json
_locales/de/messages.json

Imageinfo
Get image info for images, including EXIF data
Managed Bookmarks
Adds bookmarks configured by your system administrator to Chrome.
Calls:
Source Files:

News Reader (by Google)
Displays the latest stories from Google News in a popup.
Source Files:
manifest.json
images/buzz.png
images/delete-icon.png
images/fb.png
images/news.gif
images/news_action.png
images/news_icon.png
images/sprite_arrows.gif
images/twitter.png
css/feed.css
css/options.css
javascript/feed.js
javascript/options.js
javascript/util.js
views/background.html
views/feed.html
views/options.html
_locales/en/messages.json

News Reader
Displays the first 5 items from the 'Google News - top news' RSS feed in a popup.
Calls:

News Reader
Displays the first 5 items from the '$Google$ News - top news' RSS feed in a popup.
Calls:

Sample - OAuth Contacts
Uses OAuth to connect to Google's contacts service and display a list of your contacts.
Calls:

Per-plugin content settings
Customize your content setting for different plugins.
Calls:
Source Files:
bunny128.png
bunny48.png
manifest.json
options.html
js/chrome_stubs.js
js/main.js
js/plugin_list.js
js/plugin_list_test.html
js/plugin_settings.js
js/plugin_settings_test.html
js/rule_list.js
js/rule_list_test.html
css/plugin_list.css
css/rule_list.css
domui/css/button.css
domui/css/chrome_shared.css
domui/css/list.css
domui/css/select.css
options/images/close_bar.png
options/images/close_bar_h.png
options/images/close_bar_p.png
options/js/deletable_item_list.js
options/js/inline_editable_list.js
domui/images/select.png
domui/js/cr.js
domui/js/util.js
_locales/en/messages.json
options/css/list.css
domui/js/cr/event_target.js
domui/js/cr/ui.js
domui/js/cr/ui/array_data_model.js
domui/js/cr/ui/list.js
domui/js/cr/ui/list_item.js
domui/js/cr/ui/list_selection_controller.js
domui/js/cr/ui/list_selection_model.js
domui/js/cr/ui/list_single_selection_model.js

Proxy Extension API Sample
Set Chrome-specific proxies; a demonstration of Chrome's Proxy API
Calls:

Talking Alarm Clock
A clock with two configurable alarms that will play a sound and speak a phrase of your choice.
Source Files:
background.js
blank-clock-150.png
blank-clock-ring1-150.png
blank-clock-ring2-150.png
clock-128.png
clock-16.png
clock-19.png
clock-256.png
clock-48.png
clock-disabled-19.png
clock-highlighted-19.png
common.js
credits.html
manifest.json
play.png
popup.html
popup.js
audio/cuckoo.ogg
audio/digital.ogg
audio/metal.ogg
audio/ringing.ogg
audio/rooster.ogg

TTS Debug
Tool for developers of Chrome TTS engine extensions to help them test their engines are implementing the API correctly.
Calls:
Source Files:

Event Tracking with Google Analytics
A sample extension which uses Google Analytics to track usage.
Calls:

Getting Started Example
Build an Extension!
Getting started example
This extension allows the user to change the background color of the current page.
Calls:
Source Files:

OAuth Tutorial FriendBlock
Uses OAuth to connect to Google's People API and display contacts photos.
Source Files:

OAuth Tutorial FriendBlock
Uses OAuth to connect to Google's People API and display contacts photos.
Source Files: