Home | History | Annotate | Download | only in browser
      1 // Copyright 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef CHROME_BROWSER_CHROME_NOTIFICATION_TYPES_H_
      6 #define CHROME_BROWSER_CHROME_NOTIFICATION_TYPES_H_
      7 
      8 #include "build/build_config.h"
      9 #include "extensions/browser/notification_types.h"
     10 
     11 namespace chrome {
     12 
     13 enum NotificationType {
     14   NOTIFICATION_CHROME_START = extensions::NOTIFICATION_EXTENSIONS_END,
     15 
     16   // Browser-window ----------------------------------------------------------
     17 
     18   // This message is sent after a window has been opened.  The source is a
     19   // Source<Browser> containing the affected Browser.  No details are
     20   // expected.
     21   NOTIFICATION_BROWSER_OPENED = NOTIFICATION_CHROME_START,
     22 
     23   // This message is sent soon after BROWSER_OPENED, and indicates that
     24   // the Browser's |window_| is now non-NULL. The source is a Source<Browser>
     25   // containing the affected Browser.  No details are expected.
     26   NOTIFICATION_BROWSER_WINDOW_READY,
     27 
     28   // This message is sent when a browser is closing. The source is a
     29   // Source<Browser> containing the affected Browser. No details are expected.
     30   // This is sent prior to BROWSER_CLOSED, and may be sent more than once for a
     31   // particular browser.
     32   NOTIFICATION_BROWSER_CLOSING,
     33 
     34   // This message is sent after a window has been closed.  The source is a
     35   // Source<Browser> containing the affected Browser.  No details are exptected.
     36   NOTIFICATION_BROWSER_CLOSED,
     37 
     38   // This message is sent when closing a browser has been cancelled, either by
     39   // the user cancelling a beforeunload dialog, or IsClosingPermitted()
     40   // disallowing closing. This notification implies that no BROWSER_CLOSING or
     41   // BROWSER_CLOSED notification will be sent.
     42   // The source is a Source<Browser> containing the affected browser. No details
     43   // are expected.
     44   NOTIFICATION_BROWSER_CLOSE_CANCELLED,
     45 
     46   // Indicates that a top window has been closed.  The source is the HWND
     47   // that was closed, no details are expected.
     48   NOTIFICATION_WINDOW_CLOSED,
     49 
     50 #if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID)
     51   // On Linux maximize can be an asynchronous operation. This notification
     52   // indicates that the window has been maximized. The source is
     53   // a Source<BrowserWindow> containing the BrowserWindow that was maximized.
     54   // No details are expected.
     55   NOTIFICATION_BROWSER_WINDOW_MAXIMIZED,
     56 #endif
     57 
     58   // Sent when the language (English, French...) for a page has been detected.
     59   // The details Details<std::string> contain the ISO 639-1 language code and
     60   // the source is Source<WebContents>.
     61   NOTIFICATION_TAB_LANGUAGE_DETERMINED,
     62 
     63   // Sent when a page has been translated. The source is the tab for that page
     64   // (Source<WebContents>) and the details are the language the page was
     65   // originally in and the language it was translated to
     66   // (std::pair<std::string, std::string>).
     67   NOTIFICATION_PAGE_TRANSLATED,
     68 
     69   // The user has changed the browser theme. The source is a
     70   // Source<ThemeService>. There are no details.
     71   NOTIFICATION_BROWSER_THEME_CHANGED,
     72 
     73 #if defined(USE_AURA)
     74   // The user has changed the fling curve configuration.
     75   // Source<GesturePrefsObserver>. There are no details.
     76   NOTIFICATION_BROWSER_FLING_CURVE_PARAMETERS_CHANGED,
     77 #endif  // defined(USE_AURA)
     78 
     79   // Sent when the renderer returns focus to the browser, as part of focus
     80   // traversal. The source is the browser, there are no details.
     81   NOTIFICATION_FOCUS_RETURNED_TO_BROWSER,
     82 
     83   // A new tab is created from an existing tab to serve as a target of a
     84   // navigation that is about to happen. The source will be a Source<Profile>
     85   // corresponding to the profile in which the new tab will live.  Details in
     86   // the form of a RetargetingDetails object are provided.
     87   NOTIFICATION_RETARGETING,
     88 
     89   // Application-wide ----------------------------------------------------------
     90 
     91   // This message is sent when the application is terminating (the last
     92   // browser window has shutdown as part of an explicit user-initiated exit,
     93   // or the user closed the last browser window on Windows/Linux and there are
     94   // no BackgroundContents keeping the browser running). No source or details
     95   // are passed.
     96   NOTIFICATION_APP_TERMINATING,
     97 
     98 #if defined(OS_MACOSX)
     99   // This notification is sent when the app has no key window, such as when
    100   // all windows are closed but the app is still active. No source or details
    101   // are provided.
    102   NOTIFICATION_NO_KEY_WINDOW,
    103 #endif
    104 
    105   // This is sent when the user has chosen to exit the app, but before any
    106   // browsers have closed. This is sent if the user chooses to exit (via exit
    107   // menu item or keyboard shortcut) or to restart the process (such as in flags
    108   // page), not if Chrome exits by some other means (such as the user closing
    109   // the last window). No source or details are passed.
    110   //
    111   // Note that receiving this notification does not necessarily mean the process
    112   // will exit because the shutdown process can be cancelled by an unload
    113   // handler.  Use APP_TERMINATING for such needs.
    114   NOTIFICATION_CLOSE_ALL_BROWSERS_REQUEST,
    115 
    116   // Application-modal dialogs -----------------------------------------------
    117 
    118   // Sent after an application-modal dialog has been shown. The source
    119   // is the dialog.
    120   NOTIFICATION_APP_MODAL_DIALOG_SHOWN,
    121 
    122   // This message is sent when a new InfoBar has been added to an
    123   // InfoBarService.  The source is a Source<InfoBarService> with a pointer to
    124   // the InfoBarService the InfoBar was added to.  The details is a
    125   // Details<InfoBar::AddedDetails>.
    126   NOTIFICATION_TAB_CONTENTS_INFOBAR_ADDED,
    127 
    128   // This message is sent when an InfoBar is about to be removed from an
    129   // InfoBarService.  The source is a Source<InfoBarService> with a pointer to
    130   // the InfoBarService the InfoBar was removed from.  The details is a
    131   // Details<InfoBar::RemovedDetails>.
    132   NOTIFICATION_TAB_CONTENTS_INFOBAR_REMOVED,
    133 
    134   // Used to fire notifications about how long various events took to
    135   // complete.  E.g., this is used to get more fine grained timings from the
    136   // new tab page.  The source is a WebContents and the details is a
    137   // MetricEventDurationDetails.
    138   NOTIFICATION_METRIC_EVENT_DURATION,
    139 
    140   // This notification is sent when extensions::TabHelper::SetExtensionApp is
    141   // invoked. The source is the extensions::TabHelper SetExtensionApp was
    142   // invoked on.
    143   NOTIFICATION_TAB_CONTENTS_APPLICATION_EXTENSION_CHANGED,
    144 
    145   // Tabs --------------------------------------------------------------------
    146 
    147   // Sent when a tab is added to a WebContentsDelegate. The source is the
    148   // WebContentsDelegate and the details is the added WebContents.
    149   NOTIFICATION_TAB_ADDED,
    150 
    151   // This notification is sent after a tab has been appended to the tab_strip.
    152   // The source is a Source<WebContents> of the tab being added. There
    153   // are no details.
    154   NOTIFICATION_TAB_PARENTED,
    155 
    156   // This message is sent before a tab has been closed.  The source is a
    157   // Source<NavigationController> with a pointer to the controller for the
    158   // closed tab.  No details are expected.
    159   //
    160   // See also content::NOTIFICATION_WEB_CONTENTS_DESTROYED, which is sent when
    161   // the WebContents containing the NavigationController is destroyed.
    162   NOTIFICATION_TAB_CLOSING,
    163 
    164   // Stuff inside the tabs ---------------------------------------------------
    165 
    166   // This notification is sent when the result of a find-in-page search is
    167   // available with the browser process. The source is a Source<WebContents>.
    168   // Details encompass a FindNotificationDetail object that tells whether the
    169   // match was found or not found.
    170   NOTIFICATION_FIND_RESULT_AVAILABLE,
    171 
    172   // BackgroundContents ------------------------------------------------------
    173 
    174   // A new background contents was opened by script. The source is the parent
    175   // profile and the details are BackgroundContentsOpenedDetails.
    176   NOTIFICATION_BACKGROUND_CONTENTS_OPENED,
    177 
    178   // The background contents navigated to a new location. The source is the
    179   // parent Profile, and the details are the BackgroundContents that was
    180   // navigated.
    181   NOTIFICATION_BACKGROUND_CONTENTS_NAVIGATED,
    182 
    183   // The background contents were closed by someone invoking window.close()
    184   // or the parent application was uninstalled.
    185   // The source is the parent profile, and the details are the
    186   // BackgroundContents.
    187   NOTIFICATION_BACKGROUND_CONTENTS_CLOSED,
    188 
    189   // The background contents is being deleted. The source is the
    190   // parent Profile, and the details are the BackgroundContents being deleted.
    191   NOTIFICATION_BACKGROUND_CONTENTS_DELETED,
    192 
    193   // The background contents has crashed. The source is the parent Profile,
    194   // and the details are the BackgroundContents.
    195   NOTIFICATION_BACKGROUND_CONTENTS_TERMINATED,
    196 
    197   // The background contents associated with a hosted app has changed (either
    198   // a new background contents has been created, or an existing background
    199   // contents has closed). The source is the parent Profile, and the details
    200   // are the BackgroundContentsService.
    201   NOTIFICATION_BACKGROUND_CONTENTS_SERVICE_CHANGED,
    202 
    203   // Chrome has entered/exited background mode. The source is the
    204   // BackgroundModeManager and the details are a boolean value which is set to
    205   // true if Chrome is now in background mode.
    206   NOTIFICATION_BACKGROUND_MODE_CHANGED,
    207 
    208   // This is sent when a login prompt is shown.  The source is the
    209   // Source<NavigationController> for the tab in which the prompt is shown.
    210   // Details are a LoginNotificationDetails which provide the LoginHandler
    211   // that should be given authentication.
    212   NOTIFICATION_AUTH_NEEDED,
    213 
    214   // This is sent when authentication credentials have been supplied (either
    215   // by the user or by an automation service), but before we've actually
    216   // received another response from the server.  The source is the
    217   // Source<NavigationController> for the tab in which the prompt was shown.
    218   // Details are an AuthSuppliedLoginNotificationDetails which provide the
    219   // LoginHandler that should be given authentication as well as the supplied
    220   // username and password.
    221   NOTIFICATION_AUTH_SUPPLIED,
    222 
    223   // This is sent when an authentication request has been dismissed without
    224   // supplying credentials (either by the user or by an automation service).
    225   // The source is the Source<NavigationController> for the tab in which the
    226   // prompt was shown. Details are a LoginNotificationDetails which provide
    227   // the LoginHandler that should be cancelled.
    228   NOTIFICATION_AUTH_CANCELLED,
    229 
    230   // History -----------------------------------------------------------------
    231 
    232   // Sent when a history service has finished loading. The source is the
    233   // profile that the history service belongs to, and the details is the
    234   // HistoryService.
    235   NOTIFICATION_HISTORY_LOADED,
    236 
    237   // Sent when a URL has been added or modified. This is used by the in-memory
    238   // URL database and the InMemoryURLIndex (both used by autocomplete) to track
    239   // changes to the main history system.
    240   //
    241   // The source is the profile owning the history service that changed, and
    242   // the details is history::URLsModifiedDetails that lists the modified or
    243   // added URLs.
    244   NOTIFICATION_HISTORY_URLS_MODIFIED,
    245 
    246   // Sent when the user visits a URL.
    247   //
    248   // The source is the profile owning the history service that changed, and
    249   // the details is history::URLVisitedDetails.
    250   NOTIFICATION_HISTORY_URL_VISITED,
    251 
    252   // Sent when one or more URLs are deleted.
    253   //
    254   // The source is the profile owning the history service that changed, and
    255   // the details is history::URLsDeletedDetails that lists the deleted URLs.
    256   NOTIFICATION_HISTORY_URLS_DELETED,
    257 
    258   // Sent when a keyword search term is updated. The source is the Profile and
    259   // the details is history::KeywordSearchUpdatedDetails.
    260   NOTIFICATION_HISTORY_KEYWORD_SEARCH_TERM_UPDATED,
    261 
    262   // Sent when a keyword search term is deleted. The source is the Profile and
    263   // the details is history::KeywordSearchDeletedDetails.
    264   NOTIFICATION_HISTORY_KEYWORD_SEARCH_TERM_DELETED,
    265 
    266   // Sent by FaviconTabHelper when a tab's favicon has been successfully
    267   // updated. The details are a bool indicating whether the
    268   // NavigationEntry's favicon URL has changed since the previous
    269   // NOTIFICATION_FAVICON_UPDATED notification. The details are true if
    270   // there was no previous NOTIFICATION_FAVICON_UPDATED notification for the
    271   // current NavigationEntry.
    272   NOTIFICATION_FAVICON_UPDATED,
    273 
    274   // Profiles -----------------------------------------------------------------
    275 
    276   // Sent after a Profile has been created. This notification is sent both for
    277   // normal and OTR profiles.
    278   // The details are none and the source is the new profile.
    279   NOTIFICATION_PROFILE_CREATED,
    280 
    281   // Sent after a Profile has been added to ProfileManager.
    282   // The details are none and the source is the new profile.
    283   NOTIFICATION_PROFILE_ADDED,
    284 
    285   // Sent early in the process of destroying a Profile, at the time a user
    286   // initiates the deletion of a profile versus the much later time when the
    287   // profile object is actually destroyed (use NOTIFICATION_PROFILE_DESTROYED).
    288   // The details are none and the source is a Profile*.
    289   NOTIFICATION_PROFILE_DESTRUCTION_STARTED,
    290 
    291   // Sent before a Profile is destroyed. This notification is sent both for
    292   // normal and OTR profiles.
    293   // The details are none and the source is a Profile*.
    294   NOTIFICATION_PROFILE_DESTROYED,
    295 
    296   // Sent after the URLRequestContextGetter for a Profile has been initialized.
    297   // The details are none and the source is a Profile*.
    298   NOTIFICATION_PROFILE_URL_REQUEST_CONTEXT_GETTER_INITIALIZED,
    299 
    300   // TopSites ----------------------------------------------------------------
    301 
    302   // Sent by TopSites when it finishes loading. The source is the profile the
    303   // details the TopSites.
    304   NOTIFICATION_TOP_SITES_LOADED,
    305 
    306   // Sent by TopSites when the either one of the most visited urls changed, or
    307   // one of the images changes. The source is the TopSites, the details not
    308   // used.
    309   NOTIFICATION_TOP_SITES_CHANGED,
    310 
    311   // Task Manager ------------------------------------------------------------
    312 
    313   // Sent when a renderer process is notified of new v8 heap statistics. The
    314   // source is the ID of the renderer process, and the details are a
    315   // V8HeapStatsDetails object.
    316   NOTIFICATION_RENDERER_V8_HEAP_STATS_COMPUTED,
    317 
    318   // Non-history storage services --------------------------------------------
    319 
    320   // The state of a web resource has been changed. A resource may have been
    321   // added, removed, or altered. Source is WebResourceService, and the
    322   // details are NoDetails.
    323   NOTIFICATION_PROMO_RESOURCE_STATE_CHANGED,
    324 
    325   // A safe browsing database update completed.  Source is the
    326   // SafeBrowsingService and the details are a bool indicating whether the
    327   // update was successful.
    328   NOTIFICATION_SAFE_BROWSING_UPDATE_COMPLETE,
    329 
    330   // Autocomplete ------------------------------------------------------------
    331 
    332   // Sent by the autocomplete controller when done.  The source is the
    333   // AutocompleteController, the details not used.
    334   NOTIFICATION_AUTOCOMPLETE_CONTROLLER_RESULT_READY,
    335 
    336   // This is sent when an item of the Omnibox popup is selected. The source
    337   // is the profile.
    338   NOTIFICATION_OMNIBOX_OPENED_URL,
    339 
    340   // This is sent from Instant when the omnibox focus state changes.
    341   NOTIFICATION_OMNIBOX_FOCUS_CHANGED,
    342 
    343   // Printing ----------------------------------------------------------------
    344 
    345   // Notification from PrintJob that an event occurred. It can be that a page
    346   // finished printing or that the print job failed. Details is
    347   // PrintJob::EventDetails. Source is a PrintJob.
    348   NOTIFICATION_PRINT_JOB_EVENT,
    349 
    350   // Sent when a PrintJob has been released.
    351   // Source is the WebContents that holds the print job.
    352   NOTIFICATION_PRINT_JOB_RELEASED,
    353 
    354   // Shutdown ----------------------------------------------------------------
    355 
    356   // Sent when WM_ENDSESSION has been received, after the browsers have been
    357   // closed but before browser process has been shutdown. The source/details
    358   // are all source and no details.
    359   NOTIFICATION_SESSION_END,
    360 
    361   // Upgrade notifications ---------------------------------------------------
    362 
    363   // Sent when Chrome believes an update has been installed and available for
    364   // long enough with the user shutting down to let it take effect. See
    365   // upgrade_detector.cc for details on how long it waits. No details are
    366   // expected.
    367   NOTIFICATION_UPGRADE_RECOMMENDED,
    368 
    369   // Sent when a critical update has been installed. No details are expected.
    370   NOTIFICATION_CRITICAL_UPGRADE_INSTALLED,
    371 
    372   // Sent when the current install is outdated. No details are expected.
    373   NOTIFICATION_OUTDATED_INSTALL,
    374 
    375   // Sent when the current install is outdated and auto-update (AU) is disabled.
    376   // No details are expected.
    377   NOTIFICATION_OUTDATED_INSTALL_NO_AU,
    378 
    379   // Software incompatibility notifications ----------------------------------
    380 
    381   // Sent when Chrome has finished compiling the list of loaded modules (and
    382   // other modules of interest). No details are expected.
    383   NOTIFICATION_MODULE_LIST_ENUMERATED,
    384 
    385   // Sent when Chrome is done scanning the module list and when the user has
    386   // acknowledged the module incompatibility. No details are expected.
    387   NOTIFICATION_MODULE_INCOMPATIBILITY_BADGE_CHANGE,
    388 
    389   // Content Settings --------------------------------------------------------
    390 
    391   // Sent when the collect cookies dialog is shown. The source is a
    392   // TabSpecificContentSettings object, there are no details.
    393   NOTIFICATION_COLLECTED_COOKIES_SHOWN,
    394 
    395   // Sent when a non-default setting in the the notification content settings
    396   // map has changed. The source is the DesktopNotificationService, the
    397   // details are None.
    398   NOTIFICATION_DESKTOP_NOTIFICATION_SETTINGS_CHANGED,
    399 
    400   // Sent when content settings change for a tab. The source is a
    401   // content::WebContents object, the details are None.
    402   NOTIFICATION_WEB_CONTENT_SETTINGS_CHANGED,
    403 
    404   // Sync --------------------------------------------------------------------
    405 
    406   // The sync service has finished the datatype configuration process. The
    407   // source is the ProfileSyncService object of the Profile. There are no
    408   // details.
    409   NOTIFICATION_SYNC_CONFIGURE_DONE,
    410 
    411   // A service is requesting a sync datatype refresh for the current profile.
    412   // The details value is a const syncer::ModelTypeSet.
    413   // If the payload map is empty, it should be treated as an invalidation for
    414   // all enabled types. This is used by session sync.
    415   NOTIFICATION_SYNC_REFRESH_LOCAL,
    416 
    417   // External notification requesting a sync datatype refresh for the current
    418   // profile. The details value is a const syncer::ObjectIdInvalidationMap.
    419   // If the payload map is empty, it should be treated as an invalidation for
    420   // all enabled types. This is used for notifications on Android.
    421   NOTIFICATION_SYNC_REFRESH_REMOTE,
    422 
    423   // The session service has been saved.  This notification type is only sent
    424   // if there were new SessionService commands to save, and not for no-op save
    425   // operations.
    426   NOTIFICATION_SESSION_SERVICE_SAVED,
    427 
    428   // A foreign session has been updated.  If a new tab page is open, the
    429   // foreign session handler needs to update the new tab page's foreign
    430   // session data.
    431   NOTIFICATION_FOREIGN_SESSION_UPDATED,
    432 
    433   // Foreign sessions has been disabled. New tabs should not display foreign
    434   // session data.
    435   NOTIFICATION_FOREIGN_SESSION_DISABLED,
    436 
    437   // All tab metadata has been loaded from disk asynchronously.
    438   // Sent on the UI thread.
    439   // The source is the Profile. There are no details.
    440   NOTIFICATION_SESSION_RESTORE_COMPLETE,
    441 
    442   // Cookies -----------------------------------------------------------------
    443 
    444   // Sent when a cookie changes. The source is a Profile object, the details
    445   // are a ChromeCookieDetails object.
    446   NOTIFICATION_COOKIE_CHANGED,
    447 
    448   // Download Notifications --------------------------------------------------
    449 
    450   // Sent when a download is initiated. It is possible that the download will
    451   // not actually begin due to the DownloadRequestLimiter cancelling it
    452   // prematurely.
    453   // The source is the corresponding RenderViewHost. There are no details.
    454   NOTIFICATION_DOWNLOAD_INITIATED,
    455 
    456   // Misc --------------------------------------------------------------------
    457 
    458 #if defined(OS_CHROMEOS)
    459   // Sent when a chromium os user logs in.
    460   // The details are a chromeos::User object.
    461   NOTIFICATION_LOGIN_USER_CHANGED,
    462 
    463   // Sent immediately after the logged-in user's profile is ready.
    464   // The details are a Profile object.
    465   NOTIFICATION_LOGIN_USER_PROFILE_PREPARED,
    466 
    467   // Sent when the chromium session of a particular user is started.
    468   // If this is a new user on the machine this will not be sent until a profile
    469   // picture has been selected, unlike NOTIFICATION_LOGIN_USER_CHANGED which is
    470   // sent immediately after the user has logged in. This will be sent again if
    471   // the browser crashes and restarts.
    472   // The details are a chromeos::User object.
    473   NOTIFICATION_SESSION_STARTED,
    474 
    475   // Sent when user image is updated.
    476   NOTIFICATION_LOGIN_USER_IMAGE_CHANGED,
    477 
    478   // Sent by UserManager when a profile image download has been completed.
    479   NOTIFICATION_PROFILE_IMAGE_UPDATED,
    480 
    481   // Sent by UserManager when profile image download has failed or user has the
    482   // default profile image or no profile image at all. No details are expected.
    483   NOTIFICATION_PROFILE_IMAGE_UPDATE_FAILED,
    484 
    485   // Sent when a network error message is displayed on the WebUI login screen.
    486   // First paint event of this fires NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE.
    487   NOTIFICATION_LOGIN_NETWORK_ERROR_SHOWN,
    488 
    489   // Sent when the specific part of login/lock WebUI is considered to be
    490   // visible. That moment is tracked as the first paint event after one of the:
    491   // NOTIFICATION_LOGIN_NETWORK_ERROR_SHOWN
    492   //
    493   // Possible series of notifications:
    494   // 1. Boot into fresh OOBE
    495   //    NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE
    496   // 2. Boot into user pods list (normal boot). Same for lock screen.
    497   //    NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE
    498   // 3. Boot into GAIA sign in UI (user pods display disabled or no users):
    499   //    if no network is connected or flaky network
    500   //    (NOTIFICATION_LOGIN_NETWORK_ERROR_SHOWN +
    501   //     NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE)
    502   //    NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE
    503   // 4. Boot into retail mode
    504   //    NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE
    505   // 5. Boot into kiosk mode
    506   //    NOTIFICATION_KIOSK_APP_LAUNCHED
    507   NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE,
    508 
    509   // Sent when proxy dialog is closed.
    510   NOTIFICATION_LOGIN_PROXY_CHANGED,
    511 
    512   // Send when kiosk auto-launch warning screen is visible.
    513   NOTIFICATION_KIOSK_AUTOLAUNCH_WARNING_VISIBLE,
    514 
    515   // Send when kiosk auto-launch warning screen had completed.
    516   NOTIFICATION_KIOSK_AUTOLAUNCH_WARNING_COMPLETED,
    517 
    518   // Send when enable consumer kiosk warning screen is visible.
    519   NOTIFICATION_KIOSK_ENABLE_WARNING_VISIBLE,
    520 
    521   // Send when consumer kiosk has been enabled.
    522   NOTIFICATION_KIOSK_ENABLED,
    523 
    524   // Send when enable consumer kiosk warning screen had completed.
    525   NOTIFICATION_KIOSK_ENABLE_WARNING_COMPLETED,
    526 
    527   // Sent when kiosk app list is loaded in UI.
    528   NOTIFICATION_KIOSK_APPS_LOADED,
    529 
    530   // Sent when a kiosk app is launched.
    531   NOTIFICATION_KIOSK_APP_LAUNCHED,
    532 
    533   // Sent when the user list has changed.
    534   NOTIFICATION_USER_LIST_CHANGED,
    535 
    536   // Sent when the screen lock state has changed. The source is
    537   // ScreenLocker and the details is a bool specifing that the
    538   // screen is locked. When details is a false, the source object
    539   // is being deleted, so the receiver shouldn't use the screen locker
    540   // object.
    541   NOTIFICATION_SCREEN_LOCK_STATE_CHANGED,
    542 
    543   // Sent by DeviceSettingsService to indicate that the ownership status
    544   // changed. If you can, please use DeviceSettingsService::Observer instead.
    545   // Other singleton-based services can't use that because Observer
    546   // unregistration is impossible due to unpredictable deletion order.
    547   NOTIFICATION_OWNERSHIP_STATUS_CHANGED,
    548 #endif
    549 
    550 #if defined(TOOLKIT_VIEWS)
    551   // Sent when a bookmark's context menu is shown. Used to notify
    552   // tests that the context menu has been created and shown.
    553   NOTIFICATION_BOOKMARK_CONTEXT_MENU_SHOWN,
    554 
    555   // Notification that the nested loop using during tab dragging has returned.
    556   // Used for testing.
    557   NOTIFICATION_TAB_DRAG_LOOP_DONE,
    558 #endif
    559 
    560   // Send when a context menu is shown. Used to notify tests that the context
    561   // menu has been created and shown.
    562   NOTIFICATION_RENDER_VIEW_CONTEXT_MENU_SHOWN,
    563 
    564   // Sent when the Instant Controller determines whether an Instant tab supports
    565   // the Instant API or not.
    566   NOTIFICATION_INSTANT_TAB_SUPPORT_DETERMINED,
    567 
    568   // Sent when the Instant Controller determines whether the NTP supports the
    569   // Instant API or not.
    570   NOTIFICATION_INSTANT_NTP_SUPPORT_DETERMINED,
    571 
    572   // Sent when the CaptivePortalService checks if we're behind a captive portal.
    573   // The Source is the Profile the CaptivePortalService belongs to, and the
    574   // Details are a Details<CaptivePortalService::CheckResults>.
    575   NOTIFICATION_CAPTIVE_PORTAL_CHECK_RESULT,
    576 
    577   // Sent when the applications in the NTP app launcher have been reordered.
    578   // The details, if not NoDetails, is the std::string ID of the extension that
    579   // was moved.
    580   NOTIFICATION_APP_LAUNCHER_REORDERED,
    581 
    582   // Sent when an app is installed and an NTP has been shown. Source is the
    583   // WebContents that was shown, and Details is the string ID of the extension
    584   // which was installed.
    585   NOTIFICATION_APP_INSTALLED_TO_NTP,
    586 
    587   // Similar to NOTIFICATION_APP_INSTALLED_TO_NTP but used to notify ash AppList
    588   // about installed app. Source is the profile in which the app is installed
    589   // and Details is the string ID of the extension.
    590   NOTIFICATION_APP_INSTALLED_TO_APPLIST,
    591 
    592 #if defined(USE_ASH)
    593   // Sent when wallpaper show animation has finished.
    594   NOTIFICATION_WALLPAPER_ANIMATION_FINISHED,
    595 
    596   // Sent when the Ash session has started. In its current incantation this is
    597   // generated when the metro app has connected to the browser IPC channel.
    598   // Used only on Windows.
    599   NOTIFICATION_ASH_SESSION_STARTED,
    600 
    601   // Sent when the Ash session ended. Currently this means the metro app exited.
    602   // Used only on Windows.
    603   NOTIFICATION_ASH_SESSION_ENDED,
    604 #endif
    605 
    606   // Protocol Handler Registry -----------------------------------------------
    607   // Sent when a ProtocolHandlerRegistry is changed. The source is the profile.
    608   NOTIFICATION_PROTOCOL_HANDLER_REGISTRY_CHANGED,
    609 
    610   // Sent when the cached profile info has changed.
    611   NOTIFICATION_PROFILE_CACHED_INFO_CHANGED,
    612 
    613   // Sent when the cached profile has finished writing a profile picture to
    614   // disk.
    615   NOTIFICATION_PROFILE_CACHE_PICTURE_SAVED,
    616 
    617   // Sent when the browser enters or exits fullscreen mode.
    618   NOTIFICATION_FULLSCREEN_CHANGED,
    619 
    620   // Sent when the FullscreenController changes, confirms, or denies mouse lock.
    621   // The source is the browser's FullscreenController, no details.
    622   NOTIFICATION_MOUSE_LOCK_CHANGED,
    623 
    624   // Sent by the PluginPrefs when there is a change of plugin enable/disable
    625   // status. The source is the profile.
    626   NOTIFICATION_PLUGIN_ENABLE_STATUS_CHANGED,
    627 
    628   // Panels Notifications. The Panels are small browser windows near the bottom
    629   // of the screen.
    630   // Sent when all nonblocking bounds animations are finished across panels.
    631   // Used only in unit testing.
    632   NOTIFICATION_PANEL_BOUNDS_ANIMATIONS_FINISHED,
    633 
    634   // Sent when panel gains/loses focus.
    635   // The source is the Panel, no details.
    636   // Used only in unit testing.
    637   NOTIFICATION_PANEL_CHANGED_ACTIVE_STATUS,
    638 
    639   // Sent when panel is minimized/restored/shows title only etc.
    640   // The source is the Panel, no details.
    641   NOTIFICATION_PANEL_CHANGED_EXPANSION_STATE,
    642 
    643   // Sent when panel window size is known. This is for platforms where the
    644   // window creation is async and size of the window only becomes known later.
    645   // Used only in unit testing.
    646   NOTIFICATION_PANEL_WINDOW_SIZE_KNOWN,
    647 
    648   // Sent when panel app icon is loaded.
    649   // Used only in unit testing.
    650   NOTIFICATION_PANEL_APP_ICON_LOADED,
    651 
    652   // Sent when panel collection get updated.
    653   // The source is the PanelCollection, no details.
    654   // Used only in coordination with notification balloons.
    655   NOTIFICATION_PANEL_COLLECTION_UPDATED,
    656 
    657   // Sent when panel is closed.
    658   // The source is the Panel, no details.
    659   NOTIFICATION_PANEL_CLOSED,
    660 
    661   // Sent when a global error has changed and the error UI should update it
    662   // self. The source is a Source<Profile> containing the profile for the
    663   // error. The detail is a GlobalError object that has changed or NULL if
    664   // all error UIs should update.
    665   NOTIFICATION_GLOBAL_ERRORS_CHANGED,
    666 
    667   // BrowsingDataRemover ----------------------------------------------------
    668   // Sent on the UI thread after BrowsingDataRemover has removed browsing data
    669   // but before it has notified its explicit observers. The source is a
    670   // Source<Profile> containing the profile in which browsing data was removed,
    671   // and the detail is a BrowsingDataRemover::NotificationDetail containing the
    672   // removal mask and the start of the removal timeframe with which
    673   // BrowsingDataRemove::Remove was called.
    674   NOTIFICATION_BROWSING_DATA_REMOVED,
    675 
    676   // The user accepted or dismissed a SSL client authentication request.
    677   // The source is a Source<net::HttpNetworkSession>.  Details is a
    678   // (std::pair<net::SSLCertRequestInfo*, net::X509Certificate*>).
    679   NOTIFICATION_SSL_CLIENT_AUTH_CERT_SELECTED,
    680 
    681   // Session Restore --------------------------------------------------------
    682 
    683   // Sent when synchronous (startup) session restore completes. No details or
    684   // source.
    685   NOTIFICATION_SESSION_RESTORE_DONE,
    686 
    687   // Note:-
    688   // Currently only Content and Chrome define and use notifications.
    689   // Custom notifications not belonging to Content and Chrome should start
    690   // from here.
    691   NOTIFICATION_CHROME_END,
    692 };
    693 
    694 }  // namespace chrome
    695 
    696 #endif  // CHROME_BROWSER_CHROME_NOTIFICATION_TYPES_H_
    697