Chromium Code Reviews| Index: extensions/browser/notification_types.h |
| diff --git a/extensions/browser/notification_types.h b/extensions/browser/notification_types.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..55c96c5e39f97d7d2e2be4228c4446bcdda6731b |
| --- /dev/null |
| +++ b/extensions/browser/notification_types.h |
| @@ -0,0 +1,227 @@ |
| +// Copyright 2014 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef EXTENSIONS_BROWSER_NOTIFICATION_TYPES_H_ |
| +#define EXTENSIONS_BROWSER_NOTIFICATION_TYPES_H_ |
| + |
| +#include "content/public/browser/notification_types.h" |
| + |
| +//NOCOMMIT: This will become "namespace extensions". |
|
James Cook
2014/07/30 16:51:45
and will involve a global find/replace touching 13
|
| +namespace chrome { |
| + |
| +// Only notifications fired by the extensions module should be here. The |
| +// extensions module should not listen to notifications fired by the |
| +// embedder. |
| +enum ExtensionNotificationType { |
|
sky
2014/07/30 17:31:39
You're going to drop the Extension here too, that
James Cook
2014/07/30 22:36:34
Yes, this will become NotificationType (in namespa
|
| + NOTIFICATION_EXTENSIONS_START = content::NOTIFICATION_CONTENT_END, |
| + |
| + // Sent when a CrxInstaller finishes. Source is the CrxInstaller that |
| + // finished. The details are the extension which was installed. |
| + NOTIFICATION_CRX_INSTALLER_DONE, |
|
James Cook
2014/07/30 16:51:45
These are copied in order from chrome_notification
sky
2014/07/30 17:31:40
If you look in chrome/browser/chrome_notification_
James Cook
2014/07/30 22:36:34
I'll stick with the existing order, then, as it ha
|
| + |
| + // Sent when the known installed extensions have all been loaded. In |
| + // testing scenarios this can happen multiple times if extensions are |
| + // unloaded and reloaded. The source is a BrowserContext*. |
| + // |
| + // DEPRECATED: Use ExtensionSystem::Get(browser_context)->ready().Post(). |
| + NOTIFICATION_EXTENSIONS_READY,//NOCOMMIT: Rename with _DEPRECATED |
| + |
| + // Sent when a new extension is loaded. The details are an Extension, and |
| + // the source is a BrowserContext*. |
| + // |
| + // DEPRECATED: Use ExtensionRegistry::AddObserver instead. |
| + NOTIFICATION_EXTENSION_LOADED_DEPRECATED, |
| + |
| + // An error occured while attempting to load an extension. The details are a |
| + // string with details about why the load failed. |
| + NOTIFICATION_EXTENSION_LOAD_ERROR, |
| + |
| + // Sent when an extension is enabled. Under most circumstances, listeners will |
| + // want to use ExtensionRegistryObserver::OnExtensionLoaded(). This |
| + // notification is only fired when the "Enable" button is hit in the |
| + // extensions tab. The details are an Extension, and the source is a |
| + // BrowserContext*. |
| + NOTIFICATION_EXTENSION_ENABLED, |
| + |
| + // Sent when attempting to load a new extension, but they are disabled. The |
| + // details are an Extension, and the source is a BrowserContext*. |
| + NOTIFICATION_EXTENSION_UPDATE_DISABLED, |
| + |
| + // Sent when an extension's permissions change. The details are an |
| + // UpdatedExtensionPermissionsInfo, and the source is a BrowserContext*. |
| + NOTIFICATION_EXTENSION_PERMISSIONS_UPDATED, |
| + |
| + // Sent immediately before new extensions are installed or existing |
| + // extensions are updated. The details are an InstalledExtensionInfo, and the |
| + // source is a BrowserContext*. |
| + // |
| + // DEPRECATED: Use ExtensionRegistry::AddObserver instead. |
| + NOTIFICATION_EXTENSION_WILL_BE_INSTALLED_DEPRECATED, |
| + |
| + // An error occured during extension install. The details are a string with |
| + // details about why the install failed. |
| + NOTIFICATION_EXTENSION_INSTALL_ERROR, |
| + |
| + // Sent when an extension has been uninstalled. The details are an Extension, |
| + // and the source is a BrowserContext*. |
| + // |
| + // DEPRECATED: Use ExtensionRegistry::AddObserver instead. |
| + NOTIFICATION_EXTENSION_UNINSTALLED_DEPRECATED, |
| + |
| + // Sent when an extension uninstall is not allowed because the extension is |
| + // not user manageable. The details are an Extension, and the source is a |
| + // BrowserContext*. |
| + NOTIFICATION_EXTENSION_UNINSTALL_NOT_ALLOWED, |
| + |
| + // Sent when an extension is unloaded. This happens when an extension is |
| + // uninstalled or disabled. The details are an UnloadedExtensionInfo, and the |
| + // source is a BrowserContext*. |
| + // |
| + // Note that when this notification is sent, the ExtensionService and the |
| + // ExtensionRegistry have already removed the extension from their internal |
| + // state. |
| + // |
| + // DEPRECATED: Use ExtensionRegistry::AddObserver instead. |
| + NOTIFICATION_EXTENSION_UNLOADED_DEPRECATED, |
| + |
| + // Sent when an Extension object is removed from ExtensionService. This |
| + // can happen when an extension is uninstalled, upgraded, or blacklisted, |
| + // including all cases when the Extension is deleted. The details are an |
| + // Extension, and the source is a BrowserContext*. |
| + NOTIFICATION_EXTENSION_REMOVED, |
| + |
| + // Sent after a new ExtensionHost* is created. The details are |
| + // an ExtensionHost* and the source is a BrowserContext*. |
| + NOTIFICATION_EXTENSION_HOST_CREATED, |
| + |
| + // Sent before an ExtensionHost* is destroyed. The details are |
| + // an ExtensionHost* and the source is a BrowserContext*. |
| + NOTIFICATION_EXTENSION_HOST_DESTROYED, |
| + |
| + // Sent by an ExtensionHost* when it has finished its initial page load, |
| + // including any external resources. |
| + // The details are an ExtensionHost* and the source is a BrowserContext*. |
| + NOTIFICATION_EXTENSION_HOST_DID_STOP_LOADING, |
| + |
| + // Sent by an ExtensionHost* when its render view requests closing through |
| + // window.close(). The details are an ExtensionHost* and the source is a |
| + // BrowserContext*. |
| + NOTIFICATION_EXTENSION_HOST_VIEW_SHOULD_CLOSE, |
| + |
| + // Sent when extension render process ends (whether it crashes or closes). The |
| + // details are an ExtensionHost* and the source is a BrowserContext*. Not sent |
| + // during browser shutdown. |
| + NOTIFICATION_EXTENSION_PROCESS_TERMINATED, |
| + |
| + // Sent when a background page is ready so other components can load. |
| + NOTIFICATION_EXTENSION_BACKGROUND_PAGE_READY, |
| + |
| + // Sent when a browser action's state has changed. The source is the |
| + // ExtensionAction* that changed. The details are the BrowserContext* that the |
| + // browser action belongs to. |
| + NOTIFICATION_EXTENSION_BROWSER_ACTION_UPDATED, |
| + |
| + // Sent when the count of page actions has changed. Note that some of them |
| + // may not apply to the current page. The source is a LocationBar*. There |
| + // are no details. |
| + NOTIFICATION_EXTENSION_PAGE_ACTION_COUNT_CHANGED, |
| + |
| + // Sent when a browser action's visibility has changed. The source is the |
| + // ExtensionPrefs* that changed, and the details are a std::string with the |
| + // extension's ID. |
| + NOTIFICATION_EXTENSION_BROWSER_ACTION_VISIBILITY_CHANGED, |
| + |
| + // Sent when a page action's visibility has changed. The source is the |
| + // ExtensionAction* that changed. The details are a WebContents*. |
| + NOTIFICATION_EXTENSION_PAGE_ACTION_VISIBILITY_CHANGED, |
| + |
| + // Sent when a system indicator action's state has changed. The source is the |
| + // BrowserContext* that the browser action belongs to. The details are the |
| + // ExtensionAction* that changed. |
| + NOTIFICATION_EXTENSION_SYSTEM_INDICATOR_UPDATED, |
| + |
| + // Sent when an extension command has been removed. The source is the |
| + // BrowserContext* and the details is a std::pair of two std::string objects |
| + // (an extension ID and the name of the command being removed). |
| + NOTIFICATION_EXTENSION_COMMAND_REMOVED, |
| + |
| + // Sent when an extension command has been added. The source is the |
| + // BrowserContext* and the details is a std::pair of two std::string objects |
| + // (an extension ID and the name of the command being added). |
| + NOTIFICATION_EXTENSION_COMMAND_ADDED, |
| + |
| + // Sent when an extension command shortcut for a browser action is activated |
| + // on Mac. The source is the BrowserContext* and the details is a std::pair of |
| + // a std::string containing an extension ID and a gfx::NativeWindow for the |
| + // associated window. |
| + NOTIFICATION_EXTENSION_COMMAND_BROWSER_ACTION_MAC, |
| + |
| + // Sent when an extension command shortcut for a page action is activated |
| + // on Mac. The source is the BrowserContext* and the details is a std::pair of a |
| + // std::string containing an extension ID and a gfx::NativeWindow for the |
| + // associated window. |
| + NOTIFICATION_EXTENSION_COMMAND_PAGE_ACTION_MAC, |
| + |
| + // A new extension RenderViewHost has been registered. The details are |
| + // the RenderViewHost*. |
| + NOTIFICATION_EXTENSION_VIEW_REGISTERED, |
| + |
| + // An extension RenderViewHost has been unregistered. The details are |
| + // the RenderViewHost*. |
| + NOTIFICATION_EXTENSION_VIEW_UNREGISTERED, |
| + |
| + // Sent by an extension to notify the browser about the results of a unit |
| + // test. |
| + NOTIFICATION_EXTENSION_TEST_PASSED, |
| + NOTIFICATION_EXTENSION_TEST_FAILED, |
| + |
| + // Sent by extension test javascript code, typically in a browser test. The |
| + // sender is a std::string representing the extension id, and the details |
| + // are a std::string with some message. This is particularly useful when you |
| + // want to have C++ code wait for javascript code to do something. |
| + NOTIFICATION_EXTENSION_TEST_MESSAGE, |
| + |
| + // Sent when an bookmarks extensions API function was successfully invoked. |
| + // The source is the id of the extension that invoked the function, and the |
| + // details are a pointer to the const BookmarksFunction in question. |
| + NOTIFICATION_EXTENSION_BOOKMARKS_API_INVOKED, |
| + |
| + // Sent when a downloads extensions API event is fired. The source is an |
| + // ExtensionDownloadsEventRouter::NotificationSource, and the details is a |
| + // std::string containing json. Used for testing. |
| + NOTIFICATION_EXTENSION_DOWNLOADS_EVENT, |
| + |
| + // Sent when an omnibox extension has sent back omnibox suggestions. The |
| + // source is the BrowserContext*, and the details are an |
| + // extensions::api::omnibox::SendSuggestions::Params object. |
| + NOTIFICATION_EXTENSION_OMNIBOX_SUGGESTIONS_READY, |
| + |
| + // Sent when the user accepts the input in an extension omnibox keyword |
| + // session. The source is the BrowserContext*. |
| + NOTIFICATION_EXTENSION_OMNIBOX_INPUT_ENTERED, |
| + |
| + // Sent when an omnibox extension has updated the default suggestion. The |
| + // source is the BrowserContext*. |
| + NOTIFICATION_EXTENSION_OMNIBOX_DEFAULT_SUGGESTION_CHANGED, |
| + |
| + // Sent when the extension updater starts checking for updates to installed |
| + // extensions. The source is a BrowserContext*, and there are no details. |
| + NOTIFICATION_EXTENSION_UPDATING_STARTED, |
| + |
| + // The extension updater found an update and will attempt to download and |
| + // install it. The source is a BrowserContext*, and the details are an |
| + // extensions::UpdateDetails object with the extension id and version of the |
| + // found update. |
| + NOTIFICATION_EXTENSION_UPDATE_FOUND, |
| + |
| + // Sent when there are new user scripts available. The details are a |
| + // pointer to SharedMemory containing the new scripts. |
| + NOTIFICATION_USER_SCRIPTS_UPDATED, |
| + |
| + NOTIFICATION_EXTENSIONS_END |
| +}; |
| + |
| +} // namespace chrome |
| + |
| +#endif // EXTENSIONS_BROWSER_NOTIFICATION_TYPES_H_ |