diff --git a/examples.json b/examples.json index 8f4be45..467d753 100644 --- a/examples.json +++ b/examples.json @@ -1,263 +1,328 @@ [ { "javascript_apis": [ - "pageAction.getTitle", - "pageAction.onClicked", - "pageAction.setIcon", - "pageAction.setTitle", - "pageAction.show", - "tabs.insertCSS", - "tabs.onUpdated", - "tabs.query", + "pageAction.getTitle", + "pageAction.onClicked", + "pageAction.setIcon", + "pageAction.setTitle", + "pageAction.show", + "tabs.insertCSS", + "tabs.onUpdated", + "tabs.query", "tabs.removeCSS" - ], - "name": "apply-css", + ], + "name": "apply-css", "description": "Adds a page action to the toolbar. Click the button to apply a red border using injected CSS. Click the button again to remove the CSS." - }, + }, { "javascript_apis": [ - "extension.getURL", - "runtime.onMessage", - "tabs.executeScript", - "tabs.query", - "tabs.reload", + "extension.getURL", + "runtime.onMessage", + "tabs.executeScript", + "tabs.query", + "tabs.reload", "tabs.sendMessage" - ], - "name": "beastify", + ], + "name": "beastify", "description": "Adds a browser action icon to the toolbar. Click the button to choose a beast. The active tab's body content is then replaced with a picture of the chosen beast." - }, + }, { "javascript_apis": [ - "bookmarks.create", - "bookmarks.remove", - "bookmarks.search", - "browserAction.onClicked", - "browserAction.setIcon", - "tabs.onActivated", - "tabs.onUpdated", + "bookmarks.create", + "bookmarks.remove", + "bookmarks.search", + "browserAction.onClicked", + "browserAction.setIcon", + "tabs.onActivated", + "tabs.onUpdated", "tabs.query" - ], - "name": "bookmark-it", + ], + "name": "bookmark-it", "description": "Adds a bookmark button to the toolbar. Click the button to toggle a bookmark for the current page." - }, + }, { - "javascript_apis": [], - "name": "borderify", + "javascript_apis": [], + "name": "borderify", "description": "Adds a solid red border to all webpages matching mozilla.org." - }, + }, { "javascript_apis": [ - "alarms.clearAll", - "alarms.create", - "alarms.onAlarm", - "pageAction.hide", - "pageAction.onClicked", - "pageAction.show", - "tabs.get", - "tabs.onActivated", - "tabs.onUpdated", - "tabs.query", + "alarms.clearAll", + "alarms.create", + "alarms.onAlarm", + "pageAction.hide", + "pageAction.onClicked", + "pageAction.show", + "tabs.get", + "tabs.onActivated", + "tabs.onUpdated", + "tabs.query", "tabs.update" - ], - "name": "chill-out", + ], + "name": "chill-out", "description": "Show a page action after a period of inactivity. Show cat gifs when the page action is clicked." - }, + }, { "javascript_apis": [ - "commands.getAll", + "commands.getAll", "commands.onCommand" - ], - "name": "commands", + ], + "name": "commands", "description": "Demonstrates using the commands API to set up a keyboard shortcut. Thr shortcut created is accessed using Ctrl+Shift+Y (Command+Shift+Y on a Mac)." - }, + }, { "javascript_apis": [ - "contextMenus.create", - "contextMenus.onClicked", - "contextMenus.remove", - "contextMenus.update", - "i18n.getMessage", - "runtime.lastError", + "contextMenus.create", + "contextMenus.onClicked", + "contextMenus.remove", + "contextMenus.update", + "i18n.getMessage", + "runtime.lastError", "tabs.executeScript" - ], - "name": "context-menu-demo", + ], + "name": "context-menu-demo", "description": "Demonstrates adding and manipulating context menu items using the contextMenus API." - }, + }, { "javascript_apis": [ - "cookies.get", - "cookies.onChanged", - "cookies.remove", - "cookies.set", - "extension.getURL", - "runtime.onMessage", - "tabs.executeScript", - "tabs.onUpdated", - "tabs.query", + "contextualIdentities.query", + "tabs.create", + "tabs.query", + "tabs.remove" + ], + "name": "contextual-identities", + "description": "List, create, and remove contextual identities." + }, + { + "javascript_apis": [ + "cookies.get", + "cookies.onChanged", + "cookies.remove", + "cookies.set", + "extension.getURL", + "runtime.onMessage", + "tabs.executeScript", + "tabs.onUpdated", + "tabs.query", "tabs.sendMessage" - ], - "name": "cookie-bg-picker", + ], + "name": "cookie-bg-picker", "description": "Allows the user to customize the background color and tiled pattern on sites the visit, and also saves their preferences via a cookie, reapplying them whenever they revisit a site they previously customized." - }, + }, { "javascript_apis": [ - "runtime.onMessage", - "runtime.sendMessage", + "runtime.onMessage", + "runtime.sendMessage", "storage.local" - ], - "name": "embedded-webextension-bootstrapped", + ], + "name": "embedded-webextension-bootstrapped", "description": "Demonstrates how to use an embedded WebExtension to port from a bootstrapped extension." - }, + }, { "javascript_apis": [ - "notifications.create", - "runtime.connect", - "runtime.onConnect", - "runtime.onMessage", - "runtime.sendMessage", + "notifications.create", + "runtime.connect", + "runtime.onConnect", + "runtime.onMessage", + "runtime.sendMessage", "storage.local" - ], - "name": "embedded-webextension-sdk", + ], + "name": "embedded-webextension-sdk", "description": "Demonstrates how to use an embedded WebExtension to port from an SDK-based add-on." - }, + }, { - "javascript_apis": [], - "name": "emoji-substitution", + "javascript_apis": [], + "name": "emoji-substitution", "description": "Replaces words with emojis." - }, + }, + { + "javascript_apis": [], + "name": "eslint-example", + "description": "Demonstrates how to configure a WebExtension with eslint." + }, { "javascript_apis": [ - "browserAction.onClicked", - "runtime.openOptionsPage", + "browserAction.onClicked", + "runtime.openOptionsPage", "storage.local" - ], - "name": "favourite-colour", + ], + "name": "favourite-colour", "description": "An example options page, letting you store your favourite colour." - }, + }, { "javascript_apis": [ - "history.deleteUrl", - "history.search", - "pageAction.show", - "tabs.onUpdated", + "omnibox.onInputChanged", + "omnibox.onInputEntered", + "omnibox.setDefaultSuggestion", + "tabs.create", + "tabs.update" + ], + "name": "firefox-code-search", + "description": "Demonstrates how to use the omnibox API." + }, + { + "javascript_apis": [ + "browserAction.onClicked", + "browsingData.remove", + "notifications.create", + "storage.local" + ], + "name": "forget-it", + "description": "Demonstrates how to use the browsingData API." + }, + { + "javascript_apis": [ + "browserAction.onClicked", + "identity.getRedirectURL", + "identity.launchWebAuthFlow", + "notifications.create" + ], + "name": "google-userinfo", + "description": "Demonstrates how to use the identity API." + }, + { + "javascript_apis": [ + "history.deleteUrl", + "history.search", + "pageAction.show", + "tabs.onUpdated", "tabs.query" - ], - "name": "history-deleter", + ], + "name": "history-deleter", "description": "History API demo: deletes history items for a given domain" - }, + }, { "javascript_apis": [ - "downloads.erase", - "downloads.getFileIcon", - "downloads.open", - "downloads.removeFile", + "downloads.erase", + "downloads.getFileIcon", + "downloads.open", + "downloads.removeFile", "downloads.search" - ], - "name": "latest-download", + ], + "name": "latest-download", "description": "Shows the last downloaded item, and lets you open or delete it." - }, + }, { "javascript_apis": [ - "cookies.getAll", + "cookies.getAll", "tabs.query" - ], - "name": "list-cookies", - "description": "" - }, + ], + "name": "list-cookies", + "description": "This extensions list the cookies in the active tab." + }, { "javascript_apis": [ - "browserAction.onClicked", - "runtime.connectNative" - ], - "name": "native-messaging", - "description": "Example of native messaging, including a Python application and a WebExtension which exchanges messages with it." - }, - { - "javascript_apis": [ - "storage.local", - "webNavigation.onCompleted" - ], - "name": "navigation-stats", - "description": "Demonstration of the webNavigation API, showing basic stata about which pages you've visited." - }, - { - "javascript_apis": [ - "extension.getURL", - "i18n.getMessage", - "notifications.create", - "runtime.onMessage", "runtime.sendMessage" - ], - "name": "notify-link-clicks-i18n", - "description": "Shows a localized notification when the user clicks on links." - }, + ], + "name": "mocha-client-tests", + "description": "This example shows two methods of testing a WebExtension: running tests from within the add-on, and running tests from the command line using Karma" + }, { "javascript_apis": [ - "browserAction.onClicked", - "tabs.create" - ], - "name": "open-my-page-button", - "description": "Adds a browser action icon to the toolbar. When the browser action is clicked, the add-on opens a page that was packaged with it." - }, + "browserAction.onClicked", + "runtime.connectNative" + ], + "name": "native-messaging", + "description": "Example of native messaging, including a Python application and a WebExtension which exchanges messages with it." + }, { - "javascript_apis": [], - "name": "page-to-extension-messaging", + "javascript_apis": [ + "storage.local", + "webNavigation.onCompleted" + ], + "name": "navigation-stats", + "description": "Demonstration of the webNavigation API, showing basic stata about which pages you've visited." + }, + { + "javascript_apis": [ + "extension.getURL", + "i18n.getMessage", + "notifications.create", + "runtime.onMessage", + "runtime.sendMessage" + ], + "name": "notify-link-clicks-i18n", + "description": "Shows a localized notification when the user clicks on links." + }, + { + "javascript_apis": [ + "browserAction.onClicked", + "tabs.create" + ], + "name": "open-my-page-button", + "description": "Adds a browser action icon to the toolbar. When the browser action is clicked, the add-on opens a page that was packaged with it." + }, + { + "javascript_apis": [], + "name": "page-to-extension-messaging", "description": "Demonstrates how a web page and a content script can exchange messages. Visit https://mdn.github.io/webextensions-examples/content-script-page-script-messaging.html for the demo." - }, + }, { "javascript_apis": [ "storage.local" - ], - "name": "quicknote", + ], + "name": "quicknote", "description": "Allows the user to make quick notes by clicking a button and entering text into the resulting popup. The notes are saved in storage." - }, + }, { - "javascript_apis": [], - "name": "selection-to-clipboard", + "javascript_apis": [], + "name": "react-es6-popup", + "description": "This is an example of creating a browser action popup UI in React and ES6 JavaScript." + }, + { + "javascript_apis": [], + "name": "selection-to-clipboard", "description": "Demonstrates how to write to the clipboard from a content script" - }, + }, { "javascript_apis": [ - "tabs.create", - "tabs.duplicate", - "tabs.getZoom", - "tabs.highlight", - "tabs.move", - "tabs.onMoved", - "tabs.onRemoved", - "tabs.query", - "tabs.reload", - "tabs.remove", + "tabs.create", + "tabs.duplicate", + "tabs.getZoom", + "tabs.highlight", + "tabs.move", + "tabs.onMoved", + "tabs.onRemoved", + "tabs.query", + "tabs.reload", + "tabs.remove", "tabs.setZoom" - ], - "name": "tabs-tabs-tabs", + ], + "name": "tabs-tabs-tabs", "description": "Demonstrates tab manipulation: opening, closing, moving, zooming tabs." - }, + }, { "javascript_apis": [ - "extension.getBackgroundPage", + "topSites.get" + ], + "name": "top-sites", + "description": "Demonstration of the topSites API." + }, + { + "javascript_apis": [ + "extension.getBackgroundPage", "webRequest.onBeforeSendHeaders" - ], - "name": "user-agent-rewriter", + ], + "name": "user-agent-rewriter", "description": "Demonstrates using the webRequest API to rewrite the User-Agent HTTP header." - }, + }, { "javascript_apis": [ - "runtime.onMessage", + "runtime.onMessage", "runtime.sendMessage" - ], - "name": "webpack-modules", + ], + "name": "webpack-modules", "description": "Demonstrates how to use webpack to package npm modules in a WebExtension." - }, + }, { "javascript_apis": [ - "windows.create", - "windows.getAll", - "windows.getCurrent", - "windows.remove", + "windows.create", + "windows.getAll", + "windows.getCurrent", + "windows.remove", "windows.update" - ], - "name": "window-manipulator", + ], + "name": "window-manipulator", "description": "Demonstrates how to manipulate windows: opening, closing, resizing windows." } ]