Initial skeleton for System Indicator API
Setting up the IDL and the appropriate boilerplate. Integrates with the existing extension action framework.
The new API is currently restricted to dev channel.
BUG=142450
Review URL: https://chromiumcodereview.appspot.com/11361189
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@170090 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/common/extensions/extension.h b/chrome/common/extensions/extension.h
index 3a5a42c..f23480c 100644
--- a/chrome/common/extensions/extension.h
+++ b/chrome/common/extensions/extension.h
@@ -224,6 +224,7 @@
TYPE_BROWSER,
TYPE_PAGE,
TYPE_SCRIPT_BADGE,
+ TYPE_SYSTEM_INDICATOR,
};
// Empty implies the key wasn't present.
@@ -679,6 +680,9 @@
const ActionInfo* browser_action_info() const {
return browser_action_info_.get();
}
+ const ActionInfo* system_indicator_info() const {
+ return system_indicator_info_.get();
+ }
bool is_verbose_install_message() const {
return !omnibox_keyword().empty() ||
browser_action_info() ||
@@ -932,7 +936,7 @@
const base::DictionaryValue& handler_info,
string16* error);
bool LoadFileHandlers(string16* error);
- bool LoadExtensionFeatures(const APIPermissionSet& api_permissions,
+ bool LoadExtensionFeatures(APIPermissionSet* api_permissions,
string16* error);
bool LoadDevToolsPage(string16* error);
bool LoadInputComponents(const APIPermissionSet& api_permissions,
@@ -941,6 +945,7 @@
bool LoadPageAction(string16* error);
bool LoadBrowserAction(string16* error);
bool LoadScriptBadge(string16* error);
+ bool LoadSystemIndicator(APIPermissionSet* api_permissions, string16* error);
bool LoadFileBrowserHandlers(string16* error);
// Helper method to load a FileBrowserHandlerList from the manifest.
FileBrowserHandlerList* LoadFileBrowserHandlersHelper(
@@ -1103,6 +1108,9 @@
// The extension's script badge. Never NULL.
scoped_ptr<ActionInfo> script_badge_info_;
+ // The extension's system indicator, if any.
+ scoped_ptr<ActionInfo> system_indicator_info_;
+
// The extension's file browser actions, if any.
scoped_ptr<FileBrowserHandlerList> file_browser_handlers_;