// Copyright 2012 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 CHROME_BROWSER_CHROME_NOTIFICATION_TYPES_H_ #define CHROME_BROWSER_CHROME_NOTIFICATION_TYPES_H_ #include "build/build_config.h" #include "content/public/browser/notification_types.h" namespace chrome { enum NotificationType { NOTIFICATION_CHROME_START = content::NOTIFICATION_CONTENT_END, // Browser-window ---------------------------------------------------------- // This message is sent after a window has been opened. The source is a // Source containing the affected Browser. No details are // expected. NOTIFICATION_BROWSER_OPENED = NOTIFICATION_CHROME_START, // This message is sent soon after BROWSER_OPENED, and indicates that // the Browser's |window_| is now non-NULL. The source is a Source // containing the affected Browser. No details are expected. NOTIFICATION_BROWSER_WINDOW_READY, // This message is sent when a browser is closing. The source is a // Source containing the affected Browser. No details are expected. // This is sent prior to BROWSER_CLOSED, and may be sent more than once for a // particular browser. NOTIFICATION_BROWSER_CLOSING, // This message is sent after a window has been closed. The source is a // Source containing the affected Browser. No details are exptected. NOTIFICATION_BROWSER_CLOSED, // This message is sent when closing a browser has been cancelled, either by // the user cancelling a beforeunload dialog, or IsClosingPermitted() // disallowing closing. This notification implies that no BROWSER_CLOSING or // BROWSER_CLOSED notification will be sent. // The source is a Source containing the affected browser. No details // are expected. NOTIFICATION_BROWSER_CLOSE_CANCELLED, // Indicates that a top window has been closed. The source is the HWND // that was closed, no details are expected. NOTIFICATION_WINDOW_CLOSED, #if defined(OS_LINUX) // On Linux maximize can be an asynchronous operation. This notification // indicates that the window has been maximized. The source is // a Source containing the BrowserWindow that was maximized. // No details are expected. NOTIFICATION_BROWSER_WINDOW_MAXIMIZED, #endif // defined(OS_LINUX) // Sent when the language (English, French...) for a page has been detected. // The details Details contain the ISO 639-1 language code and // the source is Source. NOTIFICATION_TAB_LANGUAGE_DETERMINED, // Sent when a page has been translated. The source is the tab for that page // (Source) and the details are the language the page was // originally in and the language it was translated to // (std::pair). NOTIFICATION_PAGE_TRANSLATED, // The user has changed the browser theme. The source is a // Source. There are no details. NOTIFICATION_BROWSER_THEME_CHANGED, #if defined(USE_AURA) // The user has changed the fling curve configuration. // Source. There are no details. NOTIFICATION_BROWSER_FLING_CURVE_PARAMETERS_CHANGED, #endif // defined(USE_AURA) // Sent when the renderer returns focus to the browser, as part of focus // traversal. The source is the browser, there are no details. NOTIFICATION_FOCUS_RETURNED_TO_BROWSER, // A new tab is created from an existing tab to serve as a target of a // navigation that is about to happen. The source will be a Source // corresponding to the profile in which the new tab will live. Details in // the form of a RetargetingDetails object are provided. NOTIFICATION_RETARGETING, // Application-wide ---------------------------------------------------------- // This message is sent when the application is terminating (the last // browser window has shutdown as part of an explicit user-initiated exit, // or the user closed the last browser window on Windows/Linux and there are // no BackgroundContents keeping the browser running). No source or details // are passed. NOTIFICATION_APP_TERMINATING, #if defined(OS_MACOSX) // This notification is sent when the app has no key window, such as when // all windows are closed but the app is still active. No source or details // are provided. NOTIFICATION_NO_KEY_WINDOW, #endif // This is sent when the user has chosen to exit the app, but before any // browsers have closed. This is sent if the user chooses to exit (via exit // menu item or keyboard shortcut) or to restart the process (such as in flags // page), not if Chrome exits by some other means (such as the user closing // the last window). No source or details are passed. // // Note that receiving this notification does not necessarily mean the process // will exit because the shutdown process can be cancelled by an unload // handler. Use APP_TERMINATING for such needs. NOTIFICATION_CLOSE_ALL_BROWSERS_REQUEST, // Application-modal dialogs ----------------------------------------------- // Sent after an application-modal dialog has been shown. The source // is the dialog. NOTIFICATION_APP_MODAL_DIALOG_SHOWN, // This message is sent when a new InfoBar has been added to an // InfoBarService. The source is a Source with a pointer to // the InfoBarService the InfoBar was added to. The details is a // Details with a pointer to the delegate that was added. NOTIFICATION_TAB_CONTENTS_INFOBAR_ADDED, // This message is sent when an InfoBar is about to be removed from an // InfoBarService. The source is a Source with a pointer to // the InfoBarService the InfoBar was removed from. The details is a // Details > with a pointer to the removed // delegate and whether the removal should be animated. NOTIFICATION_TAB_CONTENTS_INFOBAR_REMOVED, // This message is sent when an InfoBar is replacing another infobar in an // InfoBarService. The source is a Source with a pointer to // the InfoBarService the InfoBar was removed from. The details is a // Details > with pointers to // the old and new delegates, respectively. NOTIFICATION_TAB_CONTENTS_INFOBAR_REPLACED, // This is sent when an externally hosted tab is closed. No details are // expected. NOTIFICATION_EXTERNAL_TAB_CLOSED, // Indicates that the new page tab has finished loading. This is used for // performance testing to see how fast we can load it after startup, and is // only called once for the lifetime of the browser. The source is unused. // Details is an integer: the number of milliseconds elapsed between // starting and finishing all painting. NOTIFICATION_INITIAL_NEW_TAB_UI_LOAD, // Used to fire notifications about how long various events took to // complete. E.g., this is used to get more fine grained timings from the // new tab page. The source is a WebContents and the details is a // MetricEventDurationDetails. NOTIFICATION_METRIC_EVENT_DURATION, // This notification is sent when extensions::TabHelper::SetExtensionApp is // invoked. The source is the extensions::TabHelper SetExtensionApp was // invoked on. NOTIFICATION_TAB_CONTENTS_APPLICATION_EXTENSION_CHANGED, // Tabs -------------------------------------------------------------------- // Sent when a tab is added to a WebContentsDelegate. The source is the // WebContentsDelegate and the details is the added WebContents. NOTIFICATION_TAB_ADDED, // This notification is sent after a tab has been appended to the tab_strip. // The source is a Source of the tab being added. There // are no details. NOTIFICATION_TAB_PARENTED, // This message is sent before a tab has been closed. The source is a // Source with a pointer to the controller for the // closed tab. No details are expected. // // See also content::NOTIFICATION_WEB_CONTENTS_DESTROYED, which is sent when // the WebContents containing the NavigationController is destroyed. NOTIFICATION_TAB_CLOSING, // Stuff inside the tabs --------------------------------------------------- // This notification is sent when the result of a find-in-page search is // available with the browser process. The source is a Source. // Details encompass a FindNotificationDetail object that tells whether the // match was found or not found. NOTIFICATION_FIND_RESULT_AVAILABLE, // BackgroundContents ------------------------------------------------------ // A new background contents was opened by script. The source is the parent // profile and the details are BackgroundContentsOpenedDetails. NOTIFICATION_BACKGROUND_CONTENTS_OPENED, // The background contents navigated to a new location. The source is the // parent Profile, and the details are the BackgroundContents that was // navigated. NOTIFICATION_BACKGROUND_CONTENTS_NAVIGATED, // The background contents were closed by someone invoking window.close() // or the parent application was uninstalled. // The source is the parent profile, and the details are the // BackgroundContents. NOTIFICATION_BACKGROUND_CONTENTS_CLOSED, // The background contents is being deleted. The source is the // parent Profile, and the details are the BackgroundContents being deleted. NOTIFICATION_BACKGROUND_CONTENTS_DELETED, // The background contents has crashed. The source is the parent Profile, // and the details are the BackgroundContents. NOTIFICATION_BACKGROUND_CONTENTS_TERMINATED, // The background contents associated with a hosted app has changed (either // a new background contents has been created, or an existing background // contents has closed). The source is the parent Profile, and the details // are the BackgroundContentsService. NOTIFICATION_BACKGROUND_CONTENTS_SERVICE_CHANGED, // Chrome has entered/exited background mode. The source is the // BackgroundModeManager and the details are a boolean value which is set to // true if Chrome is now in background mode. NOTIFICATION_BACKGROUND_MODE_CHANGED, // This is sent when a login prompt is shown. The source is the // Source for the tab in which the prompt is shown. // Details are a LoginNotificationDetails which provide the LoginHandler // that should be given authentication. NOTIFICATION_AUTH_NEEDED, // This is sent when authentication credentials have been supplied (either // by the user or by an automation service), but before we've actually // received another response from the server. The source is the // Source for the tab in which the prompt was shown. // Details are an AuthSuppliedLoginNotificationDetails which provide the // LoginHandler that should be given authentication as well as the supplied // username and password. NOTIFICATION_AUTH_SUPPLIED, // This is sent when an authentication request has been dismissed without // supplying credentials (either by the user or by an automation service). // The source is the Source for the tab in which the // prompt was shown. Details are a LoginNotificationDetails which provide // the LoginHandler that should be cancelled. NOTIFICATION_AUTH_CANCELLED, // History ----------------------------------------------------------------- // Sent when a history service has finished loading. The source is the // profile that the history service belongs to, and the details is the // HistoryService. NOTIFICATION_HISTORY_LOADED, // Sent when a URL has been added or modified. This is used by the in-memory // URL database and the InMemoryURLIndex (both used by autocomplete) to track // changes to the main history system. // // The source is the profile owning the history service that changed, and // the details is history::URLsModifiedDetails that lists the modified or // added URLs. NOTIFICATION_HISTORY_URLS_MODIFIED, // Sent when the user visits a URL. // // The source is the profile owning the history service that changed, and // the details is history::URLVisitedDetails. NOTIFICATION_HISTORY_URL_VISITED, // Sent when one or more URLs are deleted. // // The source is the profile owning the history service that changed, and // the details is history::URLsDeletedDetails that lists the deleted URLs. NOTIFICATION_HISTORY_URLS_DELETED, // Sent when a keyword search term is updated. The source is the Profile and // the details are history::KeywordSearchTermDetails NOTIFICATION_HISTORY_KEYWORD_SEARCH_TERM_UPDATED, // Sent by history when the favicon of a URL changes. The source is the // profile, and the details is FaviconChangedDetails (see // chrome/browser/favicon/favicon_changed_details.h). NOTIFICATION_FAVICON_CHANGED, // Sent by FaviconTabHelper when a tab's favicon has been successfully // updated. The details are a bool indicating whether the // NavigationEntry's favicon URL has changed since the previous // NOTIFICATION_FAVICON_UPDATED notification. The details are true if // there was no previous NOTIFICATION_FAVICON_UPDATED notification for the // current NavigationEntry. NOTIFICATION_FAVICON_UPDATED, // Profiles ----------------------------------------------------------------- // Sent after a Profile has been created. This notification is sent both for // normal and OTR profiles. // The details are none and the source is the new profile. NOTIFICATION_PROFILE_CREATED, // Sent after a Profile has been added to ProfileManager. // The details are none and the source is the new profile. NOTIFICATION_PROFILE_ADDED, // Sent before a Profile is destroyed. This notification is sent both for // normal and OTR profiles. // The details are none and the source is a Profile*. NOTIFICATION_PROFILE_DESTROYED, // Sent after the URLRequestContextGetter for a Profile has been initialized. // The details are none and the source is a Profile*. NOTIFICATION_PROFILE_URL_REQUEST_CONTEXT_GETTER_INITIALIZED, // TopSites ---------------------------------------------------------------- // Sent by TopSites when it finishes loading. The source is the profile the // details the TopSites. NOTIFICATION_TOP_SITES_LOADED, // Sent by TopSites when it has finished updating its most visited URLs // cache after querying the history service. The source is the TopSites and // the details a CancelableRequestProvider::Handle from the history service // query. // Used only in testing. NOTIFICATION_TOP_SITES_UPDATED, // Sent by TopSites when the either one of the most visited urls changed, or // one of the images changes. The source is the TopSites, the details not // used. NOTIFICATION_TOP_SITES_CHANGED, // Task Manager ------------------------------------------------------------ // Sent when a renderer process is notified of new v8 heap statistics. The // source is the ID of the renderer process, and the details are a // V8HeapStatsDetails object. NOTIFICATION_RENDERER_V8_HEAP_STATS_COMPUTED, // Sent when a renderer process is notified of a new FPS value. The source // is the ID of the renderer process, and the details are an FPSDetails // object. NOTIFICATION_RENDERER_FPS_COMPUTED, // Non-history storage services -------------------------------------------- // Notification that the TemplateURLService has finished loading from the // database. The source is the TemplateURLService, and the details are // NoDetails. NOTIFICATION_TEMPLATE_URL_SERVICE_LOADED, // Sent when a TemplateURL is removed from the model. The source is the // Profile, and the details the id of the TemplateURL being removed. NOTIFICATION_TEMPLATE_URL_REMOVED, // Sent when the prefs relating to the default search engine have changed due // to policy. Source and details are unused. NOTIFICATION_DEFAULT_SEARCH_POLICY_CHANGED, // The state of a web resource has been changed. A resource may have been // added, removed, or altered. Source is WebResourceService, and the // details are NoDetails. NOTIFICATION_PROMO_RESOURCE_STATE_CHANGED, // A safe browsing database update completed. Source is the // SafeBrowsingService and the details are a bool indicating whether the // update was successful. NOTIFICATION_SAFE_BROWSING_UPDATE_COMPLETE, // Autocomplete ------------------------------------------------------------ // Sent by the autocomplete controller when done. The source is the // AutocompleteController, the details not used. NOTIFICATION_AUTOCOMPLETE_CONTROLLER_RESULT_READY, // This is sent when an item of the Omnibox popup is selected. The source // is the profile. NOTIFICATION_OMNIBOX_OPENED_URL, // This is sent from Instant when the omnibox focus state changes. NOTIFICATION_OMNIBOX_FOCUS_CHANGED, // Sent when the Google URL for a profile has been updated. Some services // cache this value and need to update themselves when it changes. See // google_util::GetGoogleURLAndUpdateIfNecessary(). The source is the // Profile, the details a GoogleURLTracker::UpdatedDetails containing the old // and new URLs. // // Note that because incognito mode requests for the GoogleURLTracker are // redirected to the non-incognito profile's copy, this notification will only // ever fire on non-incognito profiles; thus listeners should use // GetOriginalProfile() when constructing a Source to filter against. NOTIFICATION_GOOGLE_URL_UPDATED, // Printing ---------------------------------------------------------------- // Notification from PrintJob that an event occurred. It can be that a page // finished printing or that the print job failed. Details is // PrintJob::EventDetails. Source is a PrintJob. NOTIFICATION_PRINT_JOB_EVENT, // Sent when a PrintJob has been released. // Source is the WebContents that holds the print job. NOTIFICATION_PRINT_JOB_RELEASED, // Shutdown ---------------------------------------------------------------- // Sent when WM_ENDSESSION has been received, after the browsers have been // closed but before browser process has been shutdown. The source/details // are all source and no details. NOTIFICATION_SESSION_END, // User Scripts ------------------------------------------------------------ // Sent when there are new user scripts available. The details are a // pointer to SharedMemory containing the new scripts. NOTIFICATION_USER_SCRIPTS_UPDATED, // Extensions -------------------------------------------------------------- // Sent when a CrxInstaller finishes. Source is the CrxInstaller that // finished. The details are the extension which was installed. NOTIFICATION_CRX_INSTALLER_DONE, // 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 Profile. NOTIFICATION_EXTENSIONS_READY, // Sent when an extension icon being displayed in the location bar is updated. // The source is the Profile and the details are the WebContents for // the tab. NOTIFICATION_EXTENSION_LOCATION_BAR_UPDATED, // Sent when a new extension is loaded. The details are an Extension, and // the source is a Profile. NOTIFICATION_EXTENSION_LOADED, // 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 NOTIFICATION_EXTENSION_LOADED. 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 Profile. 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 Profile*. NOTIFICATION_EXTENSION_UPDATE_DISABLED, // Sent when an extension's permissions change. The details are an // UpdatedExtensionPermissionsInfo, and the source is a Profile. NOTIFICATION_EXTENSION_PERMISSIONS_UPDATED, // Sent when new extensions are installed, or existing extensions are updated. // The details are an InstalledExtensionInfo, and the source is a Profile. NOTIFICATION_EXTENSION_INSTALLED, // 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 Profile. NOTIFICATION_EXTENSION_UNINSTALLED, // 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 // Profile. 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 Profile. // // Note that when this notification is sent, ExtensionService has already // removed the extension from its internal state. NOTIFICATION_EXTENSION_UNLOADED, // 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 Profile. NOTIFICATION_EXTENSION_REMOVED, // Sent after a new ExtensionHost is created. The details are // an ExtensionHost* and the source is a Profile*. NOTIFICATION_EXTENSION_HOST_CREATED, // Sent before an ExtensionHost is destroyed. The details are // an ExtensionHost* and the source is a Profile*. 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 Profile*. 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 // Profile*. 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 Profile*. 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 Profile* 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 // Profile* 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 profile // 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 profile // 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 profile 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 profile 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, // Sent when an extension command shortcut for a script badge is activated // on Mac. The source is the profile 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_SCRIPT_BADGE_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 profile, 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 profile. NOTIFICATION_EXTENSION_OMNIBOX_INPUT_ENTERED, // Sent when an omnibox extension has updated the default suggestion. The // source is the profile. NOTIFICATION_EXTENSION_OMNIBOX_DEFAULT_SUGGESTION_CHANGED, // Sent when the extension updater starts checking for updates to installed // extensions. The source is a Profile, 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 Profile, and the details are an // extensions::UpdateDetails object with the extension id and version of the // found update. NOTIFICATION_EXTENSION_UPDATE_FOUND, // Desktop Notifications --------------------------------------------------- // This notification is sent when a balloon is connected to a renderer // process to render the balloon contents. The source is a // Source with a pointer to the the balloon. A // NOTIFY_BALLOON_DISCONNECTED is guaranteed before the source pointer // becomes junk. No details expected. NOTIFICATION_NOTIFY_BALLOON_CONNECTED, // This message is sent after a balloon is disconnected from the renderer // process. The source is a Source with a pointer to the // balloon host (the pointer is usable). No details are expected. NOTIFICATION_NOTIFY_BALLOON_DISCONNECTED, // Upgrade notifications --------------------------------------------------- // Sent when Chrome believes an update has been installed and available for // long enough with the user shutting down to let it take effect. See // upgrade_detector.cc for details on how long it waits. No details are // expected. NOTIFICATION_UPGRADE_RECOMMENDED, // Sent when a critical update has been installed. No details are expected. NOTIFICATION_CRITICAL_UPGRADE_INSTALLED, // Sent when the current install is outdated. No details are expected. NOTIFICATION_OUTDATED_INSTALL, // Software incompatibility notifications ---------------------------------- // Sent when Chrome has finished compiling the list of loaded modules (and // other modules of interest). No details are expected. NOTIFICATION_MODULE_LIST_ENUMERATED, // Sent when Chrome is done scanning the module list and when the user has // acknowledged the module incompatibility. No details are expected. NOTIFICATION_MODULE_INCOMPATIBILITY_BADGE_CHANGE, // Content Settings -------------------------------------------------------- // Sent when content settings change. The source is a HostContentSettings // object, the details are ContentSettingsNotificationsDetails. NOTIFICATION_CONTENT_SETTINGS_CHANGED, // Sent when the collect cookies dialog is shown. The source is a // TabSpecificContentSettings object, there are no details. NOTIFICATION_COLLECTED_COOKIES_SHOWN, // Sent when a non-default setting in the the notification content settings // map has changed. The source is the DesktopNotificationService, the // details are None. NOTIFICATION_DESKTOP_NOTIFICATION_SETTINGS_CHANGED, // Sent when content settings change for a tab. The source is a // content::WebContents object, the details are None. NOTIFICATION_WEB_CONTENT_SETTINGS_CHANGED, // Sync -------------------------------------------------------------------- // The sync service has finished the datatype configuration process. The // source is the ProfileSyncService object of the Profile. There are no // details. NOTIFICATION_SYNC_CONFIGURE_DONE, // A service is requesting a sync datatype refresh for the current profile. // The details value is a const syncer::ModelTypeSet. // If the payload map is empty, it should be treated as an invalidation for // all enabled types. This is used by session sync. NOTIFICATION_SYNC_REFRESH_LOCAL, // External notification requesting a sync datatype refresh for the current // profile. The details value is a const syncer::ObjectIdInvalidationMap. // If the payload map is empty, it should be treated as an invalidation for // all enabled types. This is used for notifications on Android. NOTIFICATION_SYNC_REFRESH_REMOTE, // The session service has been saved. This notification type is only sent // if there were new SessionService commands to save, and not for no-op save // operations. NOTIFICATION_SESSION_SERVICE_SAVED, // A foreign session has been updated. If a new tab page is open, the // foreign session handler needs to update the new tab page's foreign // session data. NOTIFICATION_FOREIGN_SESSION_UPDATED, // Foreign sessions has been disabled. New tabs should not display foreign // session data. NOTIFICATION_FOREIGN_SESSION_DISABLED, // All tab metadata has been loaded from disk asynchronously. // Sent on the UI thread. // The source is the Profile. There are no details. NOTIFICATION_SESSION_RESTORE_COMPLETE, // Cookies ----------------------------------------------------------------- // Sent when a cookie changes. The source is a Profile object, the details // are a ChromeCookieDetails object. NOTIFICATION_COOKIE_CHANGED, // Token Service ----------------------------------------------------------- // When the token service has a new token available for a service, one of // these notifications is issued per new token. // The source is a TokenService on the Profile. The details are a // TokenAvailableDetails object. NOTIFICATION_TOKEN_AVAILABLE, // When there aren't any additional tokens left to load, this notification // is sent. // The source is a TokenService on the profile. There are no details. NOTIFICATION_TOKEN_LOADING_FINISHED, // If a token request failed, one of these is issued per failed request. // The source is a TokenService on the Profile. The details are a // TokenRequestFailedDetails object. NOTIFICATION_TOKEN_REQUEST_FAILED, // Fired when the TokenService has had all of its tokens removed (such as due // to the user signing out). The source is the TokenService. There are no // details. NOTIFICATION_TOKENS_CLEARED, // Sent when a user signs into Google services such as sync. // The source is the Profile. The details are a // GoogleServiceSigninSuccessDetails object. NOTIFICATION_GOOGLE_SIGNIN_SUCCESSFUL, // Sent when a user fails to sign into Google services such as sync. // The source is the Profile. The details are a GoogleServiceAuthError // object. NOTIFICATION_GOOGLE_SIGNIN_FAILED, // Sent when the currently signed-in user for a user has been signed out. // The source is the Profile. The details are a // GoogleServiceSignoutDetails object. NOTIFICATION_GOOGLE_SIGNED_OUT, // Download Notifications -------------------------------------------------- // Sent when a download is initiated. It is possible that the download will // not actually begin due to the DownloadRequestLimiter cancelling it // prematurely. // The source is the corresponding RenderViewHost. There are no details. NOTIFICATION_DOWNLOAD_INITIATED, // Misc -------------------------------------------------------------------- // Sent when PerformanceMonitor has finished all the initial steps of data // collection and has begun passively observing. The source is the // PerformanceMonitor*. No details are expected. NOTIFICATION_PERFORMANCE_MONITOR_INITIALIZED, #if defined(OS_CHROMEOS) // Sent when a chromium os user logs in. // The details are a chromeos::User object. NOTIFICATION_LOGIN_USER_CHANGED, // Sent immediately after the logged-in user's profile is ready. // The details are a Profile object. NOTIFICATION_LOGIN_USER_PROFILE_PREPARED, // Sent when the chromium session of a particular user is started. // If this is a new user on the machine this will not be sent until a profile // picture has been selected, unlike NOTIFICATION_LOGIN_USER_CHANGED which is // sent immediately after the user has logged in. This will be sent again if // the browser crashes and restarts. // The details are a chromeos::User object. NOTIFICATION_SESSION_STARTED, // Sent when user image is updated. NOTIFICATION_LOGIN_USER_IMAGE_CHANGED, // Sent by UserManager when a profile image download has been completed. NOTIFICATION_PROFILE_IMAGE_UPDATED, // Sent by UserManager when profile image download has failed or user has the // default profile image or no profile image at all. No details are expected. NOTIFICATION_PROFILE_IMAGE_UPDATE_FAILED, // Sent when a chromium os user attempts to log in. The source is // all and the details are AuthenticationNotificationDetails. NOTIFICATION_LOGIN_AUTHENTICATION, // Sent when GAIA iframe has been loaded. First paint event after this fires // NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE. // Possible scenarios: // 1. Boot into device that has user pods display disabled or no users. // Note that booting with network not connected would first generate // NOTIFICATION_LOGIN_NETWORK_ERROR_SHOWN. // 2. From the user pods list, open "Add User" for the second time // (see below). // TODO(nkostylev): Send this notification any time "Add User" is activated // even if it has been silently preloaded on boot. // Not sent on "silent preload" i.e. when booting into login screen // with user pods, GAIA frame is silently preloaded in the background. // Activating it ("Add User") for the first time would not generate this // notification. NOTIFICATION_LOGIN_WEBUI_LOADED, // Sent when a network error message is displayed on the WebUI login screen. // First paint event of this fires NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE. NOTIFICATION_LOGIN_NETWORK_ERROR_SHOWN, // Sent when the specific part of login/lock WebUI is considered to be // visible. That moment is tracked as the first paint event after one of the: // 1. NOTIFICATION_LOGIN_WEBUI_LOADED // 2. NOTIFICATION_LOGIN_NETWORK_ERROR_SHOWN // // Possible series of notifications: // 1. Boot into fresh OOBE // NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE // 2. Boot into user pods list (normal boot). Same for lock screen. // NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE // 3. Boot into GAIA sign in UI (user pods display disabled or no users): // if no network is connected or flaky network // (NOTIFICATION_LOGIN_NETWORK_ERROR_SHOWN + // NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE) // NOTIFICATION_LOGIN_WEBUI_LOADED // NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE // 4. Boot into retail mode // NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE // 5. Boot into kiosk mode // NOTIFICATION_KIOSK_APP_LAUNCHED NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE, // Sent when proxy dialog is closed. NOTIFICATION_LOGIN_PROXY_CHANGED, // Send when kiosk auto-launch warning screen is visible. NOTIFICATION_KIOSK_AUTOLAUNCH_WARNING_VISIBLE, // Send when kiosk auto-launch warning screen had completed. NOTIFICATION_KIOSK_AUTOLAUNCH_WARNING_COMPLETED, // Send when enable consumer kiosk warning screen is visible. NOTIFICATION_KIOSK_ENABLE_WARNING_VISIBLE, // Send when consumer kiosk has been enabled. NOTIFICATION_KIOSK_ENABLED, // Send when enable consumer kiosk warning screen had completed. NOTIFICATION_KIOSK_ENABLE_WARNING_COMPLETED, // Sent when kiosk app list is loaded in UI. NOTIFICATION_KIOSK_APPS_LOADED, // Sent when a kiosk app is launched. NOTIFICATION_KIOSK_APP_LAUNCHED, // Sent when the user list has changed. NOTIFICATION_USER_LIST_CHANGED, // Sent when the screen lock state has changed. The source is // ScreenLocker and the details is a bool specifing that the // screen is locked. When details is a false, the source object // is being deleted, so the receiver shouldn't use the screen locker // object. NOTIFICATION_SCREEN_LOCK_STATE_CHANGED, // Sent by DeviceSettingsService to indicate that the ownership status // changed. If you can, please use DeviceSettingsService::Observer instead. // Other singleton-based services can't use that because Observer // unregistration is impossible due to unpredictable deletion order. NOTIFICATION_OWNERSHIP_STATUS_CHANGED, // This is sent to a ChromeOS settings observer when a system setting is // changed. The source is the CrosSettings and the details a std::string of // the changed setting. NOTIFICATION_SYSTEM_SETTING_CHANGED, // Sent by SIM unlock dialog when it has finished with the process of // updating RequirePin setting. RequirePin setting might have been changed // to a new value or update might have been canceled. // In either case notification is sent and details contain a bool // that represents current value. NOTIFICATION_REQUIRE_PIN_SETTING_CHANGE_ENDED, // Sent by SIM unlock dialog when it has finished the EnterPin or // EnterPuk dialog, either because the user cancelled, or entered a // PIN or PUK. NOTIFICATION_ENTER_PIN_ENDED, // Sent when large cursor is toggled. NOTIFICATION_CROS_ACCESSIBILITY_TOGGLE_LARGE_CURSOR, // Sent when high contrast mode is toggled. NOTIFICATION_CROS_ACCESSIBILITY_TOGGLE_HIGH_CONTRAST_MODE, // Sent when screen magnifier is toggled. NOTIFICATION_CROS_ACCESSIBILITY_TOGGLE_SCREEN_MAGNIFIER, // Sent when spoken feedback is toggled. NOTIFICATION_CROS_ACCESSIBILITY_TOGGLE_SPOKEN_FEEDBACK, #endif #if defined(TOOLKIT_VIEWS) // Sent when a bookmark's context menu is shown. Used to notify // tests that the context menu has been created and shown. NOTIFICATION_BOOKMARK_CONTEXT_MENU_SHOWN, // Notification that the nested loop using during tab dragging has returned. // Used for testing. NOTIFICATION_TAB_DRAG_LOOP_DONE, #endif // Send when a context menu is shown. Used to notify tests that the context // menu has been created and shown. NOTIFICATION_RENDER_VIEW_CONTEXT_MENU_SHOWN, // Sent when the Instant Controller determines whether an Instant tab supports // the Instant API or not. NOTIFICATION_INSTANT_TAB_SUPPORT_DETERMINED, // Sent when the Instant Controller determines whether the NTP supports the // Instant API or not. NOTIFICATION_INSTANT_NTP_SUPPORT_DETERMINED, // Sent when the Instant Controller has sent the Most Visited Items to the // renderer. NOTIFICATION_INSTANT_SENT_MOST_VISITED_ITEMS, // Sent when the CaptivePortalService checks if we're behind a captive portal. // The Source is the Profile the CaptivePortalService belongs to, and the // Details are a Details. NOTIFICATION_CAPTIVE_PORTAL_CHECK_RESULT, // Password Store ---------------------------------------------------------- // This notification is sent whenenever login entries stored in the password // store are changed. The detail of this notification is a list of changes // represented by a vector of PasswordStoreChange. Each change includes a // change type (ADD, UPDATE, or REMOVE) as well as the // |content::PasswordForm|s that were affected. NOTIFICATION_LOGINS_CHANGED, // Sent when the applications in the NTP app launcher have been reordered. // The details, if not NoDetails, is the std::string ID of the extension that // was moved. NOTIFICATION_EXTENSION_LAUNCHER_REORDERED, // Sent when an app is installed and an NTP has been shown. Source is the // WebContents that was shown, and Details is the string ID of the extension // which was installed. NOTIFICATION_APP_INSTALLED_TO_NTP, // Similar to NOTIFICATION_APP_INSTALLED_TO_NTP but used to nofity ash AppList // about installed app. Source is the profile in which the app is installed // and Details is the string ID of the extension. NOTIFICATION_APP_INSTALLED_TO_APPLIST, #if defined(USE_ASH) // Sent when wallpaper show animation has finished. NOTIFICATION_WALLPAPER_ANIMATION_FINISHED, // Sent when the Ash session has started. In its current incantation this is // generated when the metro app has connected to the browser IPC channel. // Used only on Windows. NOTIFICATION_ASH_SESSION_STARTED, // Sent when the Ash session ended. Currently this means the metro app exited. // Used only on Windows. NOTIFICATION_ASH_SESSION_ENDED, #endif // Protocol Handler Registry ----------------------------------------------- // Sent when a ProtocolHandlerRegistry is changed. The source is the profile. NOTIFICATION_PROTOCOL_HANDLER_REGISTRY_CHANGED, // Sent when the cached profile info has changed. NOTIFICATION_PROFILE_CACHED_INFO_CHANGED, // Sent when the cached profile has finished writing a profile picture to // disk. NOTIFICATION_PROFILE_CACHE_PICTURE_SAVED, // Sent when the browser enters or exits fullscreen mode. NOTIFICATION_FULLSCREEN_CHANGED, // Sent when the FullscreenController changes, confirms, or denies mouse lock. // The source is the browser's FullscreenController, no details. NOTIFICATION_MOUSE_LOCK_CHANGED, // Sent by the PluginPrefs when there is a change of plugin enable/disable // status. The source is the profile. NOTIFICATION_PLUGIN_ENABLE_STATUS_CHANGED, // Panels Notifications. The Panels are small browser windows near the bottom // of the screen. // Sent when all nonblocking bounds animations are finished across panels. // Used only in unit testing. NOTIFICATION_PANEL_BOUNDS_ANIMATIONS_FINISHED, // Sent when panel gains/loses focus. // The source is the Panel, no details. // Used only in unit testing. NOTIFICATION_PANEL_CHANGED_ACTIVE_STATUS, // Sent when panel is minimized/restored/shows title only etc. // The source is the Panel, no details. NOTIFICATION_PANEL_CHANGED_EXPANSION_STATE, // Sent when panel window size is known. This is for platforms where the // window creation is async and size of the window only becomes known later. // Used only in unit testing. NOTIFICATION_PANEL_WINDOW_SIZE_KNOWN, // Sent when panel app icon is loaded. // Used only in unit testing. NOTIFICATION_PANEL_APP_ICON_LOADED, // Sent when panel collection get updated. // The source is the PanelCollection, no details. // Used only in coordination with notification balloons. NOTIFICATION_PANEL_COLLECTION_UPDATED, // Sent when panel is closed. // The source is the Panel, no details. NOTIFICATION_PANEL_CLOSED, // Sent when a global error has changed and the error UI should update it // self. The source is a Source containing the profile for the // error. The detail is a GlobalError object that has changed or NULL if // all error UIs should update. NOTIFICATION_GLOBAL_ERRORS_CHANGED, // BrowsingDataRemover ---------------------------------------------------- // Sent on the UI thread after BrowsingDataRemover has removed browsing data // but before it has notified its explicit observers. The source is a // Source containing the profile in which browsing data was removed, // and the detail is a BrowsingDataRemover::NotificationDetail containing the // removal mask and the start of the removal timeframe with which // BrowsingDataRemove::Remove was called. NOTIFICATION_BROWSING_DATA_REMOVED, // The user accepted or dismissed a SSL client authentication request. // The source is a Source. Details is a // (std::pair). NOTIFICATION_SSL_CLIENT_AUTH_CERT_SELECTED, // Blocked content. // Sent when content changes to or from the blocked state in // BlockedContentTabHelper. // The source is the WebContents of the blocked content and details // is a boolean: true if the content is entering the blocked state, false // if it is leaving. NOTIFICATION_CONTENT_BLOCKED_STATE_CHANGED, // Session Restore -------------------------------------------------------- // Sent when synchronous (startup) session restore completes. No details or // source. NOTIFICATION_SESSION_RESTORE_DONE, // Note:- // Currently only Content and Chrome define and use notifications. // Custom notifications not belonging to Content and Chrome should start // from here. NOTIFICATION_CHROME_END, }; } // namespace chrome #endif // CHROME_BROWSER_CHROME_NOTIFICATION_TYPES_H_