Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 # Introduction | |
| 2 | |
| 3 We currently have a page actions API, but it is very weird because we were learn ing what we liked as we were building it. We also now have a BrowserActions API that we like a lot more, but it stinks that it is very different from the page a ctions API. | |
|
Bons
2015/08/20 20:16:50
delete due to staleness?
| |
| 4 | |
| 5 This proposal is for a new version of the page actions API that is more like the browser actions one. Because the two APIs are so similar, please see [that docu ment](BrowserActions.md) for more details. | |
| 6 | |
| 7 There can be at most one browser or page action per-extension. | |
| 8 | |
| 9 The difference between browser actions and page actions is that page actions onl y have the lifetime of a particular document. They are shown for a specific tab, but always go away when that tab navigates. | |
| 10 | |
| 11 ## Manifest | |
| 12 | |
| 13 ``` | |
| 14 { | |
| 15 "name": "My extension that has a page action", | |
| 16 "version": "1", | |
| 17 "page_action": { | |
| 18 "default_icon": "foo.png", // optional | |
| 19 "default_title": "Click here for foo", // required | |
| 20 "popup": "popup.html" // optional | |
| 21 } | |
| 22 } | |
| 23 ``` | |
| 24 | |
| 25 ## Programmatic API | |
| 26 | |
| 27 ``` | |
| 28 // Show the page action. The page action is shown whenever the tab is selected. | |
| 29 void chrome.pageAction.show(int tabId); | |
| 30 | |
| 31 // Hide the page action. | |
| 32 void chrome.pageAction.hide(int tabId); | |
| 33 | |
| 34 // Set the icon. Can be specified using either a path to a static icon inside | |
| 35 // the extension, or by using raw image data from an HTML5 canvas element | |
| 36 // (see: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas- element.html#imagedata) | |
| 37 // Either the imageData or path property must be set. | |
| 38 void chrome.pageAction.setIcon({optional ImageData imageData, | |
| 39 optional string path, | |
| 40 int tabId}); | |
| 41 | |
| 42 // Set the title of the page action. This is displayed in a tooltip over the | |
| 43 // page action. | |
| 44 void chrome.pageAction.setTitle({string title, int tabId}); | |
| 45 | |
| 46 // Set the badge background color. The |color| array is an array of four integer s | |
| 47 // in the range [0-255] that specify the ARGB color for the badge background. | |
| 48 void chrome.pageAction.setBadgeBackgroundColor({int[] color, int tabId}); | |
| 49 | |
| 50 // Set the badge text color. The |color| array is an array of four integers | |
| 51 // in the range [0-255] that specify the ARGB color for the text background. | |
| 52 void chrome.pageAction.setBadgeTextColor({int[] color, int tabId}); | |
| 53 | |
| 54 // Set the badge text. This can be any string, but practically speaking, it is | |
| 55 // limited to about 4 characters. | |
| 56 void chrome.pageAction.setBadgeText({string text, int tabId}); | |
| 57 | |
| 58 // Fired when the page action is clicked. | |
| 59 event chrome.pageAction.onClicked(Tab tab); | |
| 60 ``` | |
| OLD | NEW |