Chromium Code Reviews| Index: docs/page_action_ap_iv2.md |
| diff --git a/docs/page_action_ap_iv2.md b/docs/page_action_ap_iv2.md |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..46a951b506d63c06d303192cffd20a90c3ac8a73 |
| --- /dev/null |
| +++ b/docs/page_action_ap_iv2.md |
| @@ -0,0 +1,60 @@ |
| +# Introduction |
| + |
| +We currently have a page actions API, but it is very weird because we were learning 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 actions API. |
|
Bons
2015/08/20 20:16:50
delete due to staleness?
|
| + |
| +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 document](BrowserActions.md) for more details. |
| + |
| +There can be at most one browser or page action per-extension. |
| + |
| +The difference between browser actions and page actions is that page actions only have the lifetime of a particular document. They are shown for a specific tab, but always go away when that tab navigates. |
| + |
| +## Manifest |
| + |
| +``` |
| +{ |
| + "name": "My extension that has a page action", |
| + "version": "1", |
| + "page_action": { |
| + "default_icon": "foo.png", // optional |
| + "default_title": "Click here for foo", // required |
| + "popup": "popup.html" // optional |
| + } |
| +} |
| +``` |
| + |
| +## Programmatic API |
| + |
| +``` |
| +// Show the page action. The page action is shown whenever the tab is selected. |
| +void chrome.pageAction.show(int tabId); |
| + |
| +// Hide the page action. |
| +void chrome.pageAction.hide(int tabId); |
| + |
| +// Set the icon. Can be specified using either a path to a static icon inside |
| +// the extension, or by using raw image data from an HTML5 canvas element |
| +// (see: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#imagedata) |
| +// Either the imageData or path property must be set. |
| +void chrome.pageAction.setIcon({optional ImageData imageData, |
| + optional string path, |
| + int tabId}); |
| + |
| +// Set the title of the page action. This is displayed in a tooltip over the |
| +// page action. |
| +void chrome.pageAction.setTitle({string title, int tabId}); |
| + |
| +// Set the badge background color. The |color| array is an array of four integers |
| +// in the range [0-255] that specify the ARGB color for the badge background. |
| +void chrome.pageAction.setBadgeBackgroundColor({int[] color, int tabId}); |
| + |
| +// Set the badge text color. The |color| array is an array of four integers |
| +// in the range [0-255] that specify the ARGB color for the text background. |
| +void chrome.pageAction.setBadgeTextColor({int[] color, int tabId}); |
| + |
| +// Set the badge text. This can be any string, but practically speaking, it is |
| +// limited to about 4 characters. |
| +void chrome.pageAction.setBadgeText({string text, int tabId}); |
| + |
| +// Fired when the page action is clicked. |
| +event chrome.pageAction.onClicked(Tab tab); |
| +``` |