Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / chrome_notification_types.h
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 history when the favicon of a URL changes.  The source is the
267   // profile, and the details is FaviconChangedDetails (see
268   // chrome/browser/favicon/favicon_changed_details.h).
269   NOTIFICATION_FAVICON_CHANGED,
270
271   // Sent by FaviconTabHelper when a tab's favicon has been successfully
272   // updated. The details are a bool indicating whether the
273   // NavigationEntry's favicon URL has changed since the previous
274   // NOTIFICATION_FAVICON_UPDATED notification. The details are true if
275   // there was no previous NOTIFICATION_FAVICON_UPDATED notification for the
276   // current NavigationEntry.
277   NOTIFICATION_FAVICON_UPDATED,
278
279   // Profiles -----------------------------------------------------------------
280
281   // Sent after a Profile has been created. This notification is sent both for
282   // normal and OTR profiles.
283   // The details are none and the source is the new profile.
284   NOTIFICATION_PROFILE_CREATED,
285
286   // Sent after a Profile has been added to ProfileManager.
287   // The details are none and the source is the new profile.
288   NOTIFICATION_PROFILE_ADDED,
289
290   // Sent early in the process of destroying a Profile, at the time a user
291   // initiates the deletion of a profile versus the much later time when the
292   // profile object is actually destroyed (use NOTIFICATION_PROFILE_DESTROYED).
293   // The details are none and the source is a Profile*.
294   NOTIFICATION_PROFILE_DESTRUCTION_STARTED,
295
296   // Sent before a Profile is destroyed. This notification is sent both for
297   // normal and OTR profiles.
298   // The details are none and the source is a Profile*.
299   NOTIFICATION_PROFILE_DESTROYED,
300
301   // Sent after the URLRequestContextGetter for a Profile has been initialized.
302   // The details are none and the source is a Profile*.
303   NOTIFICATION_PROFILE_URL_REQUEST_CONTEXT_GETTER_INITIALIZED,
304
305   // TopSites ----------------------------------------------------------------
306
307   // Sent by TopSites when it finishes loading. The source is the profile the
308   // details the TopSites.
309   NOTIFICATION_TOP_SITES_LOADED,
310
311   // Sent by TopSites when the either one of the most visited urls changed, or
312   // one of the images changes. The source is the TopSites, the details not
313   // used.
314   NOTIFICATION_TOP_SITES_CHANGED,
315
316   // Task Manager ------------------------------------------------------------
317
318   // Sent when a renderer process is notified of new v8 heap statistics. The
319   // source is the ID of the renderer process, and the details are a
320   // V8HeapStatsDetails object.
321   NOTIFICATION_RENDERER_V8_HEAP_STATS_COMPUTED,
322
323   // Non-history storage services --------------------------------------------
324
325   // The state of a web resource has been changed. A resource may have been
326   // added, removed, or altered. Source is WebResourceService, and the
327   // details are NoDetails.
328   NOTIFICATION_PROMO_RESOURCE_STATE_CHANGED,
329
330   // A safe browsing database update completed.  Source is the
331   // SafeBrowsingService and the details are a bool indicating whether the
332   // update was successful.
333   NOTIFICATION_SAFE_BROWSING_UPDATE_COMPLETE,
334
335   // Autocomplete ------------------------------------------------------------
336
337   // Sent by the autocomplete controller when done.  The source is the
338   // AutocompleteController, the details not used.
339   NOTIFICATION_AUTOCOMPLETE_CONTROLLER_RESULT_READY,
340
341   // This is sent when an item of the Omnibox popup is selected. The source
342   // is the profile.
343   NOTIFICATION_OMNIBOX_OPENED_URL,
344
345   // This is sent from Instant when the omnibox focus state changes.
346   NOTIFICATION_OMNIBOX_FOCUS_CHANGED,
347
348   // Printing ----------------------------------------------------------------
349
350   // Notification from PrintJob that an event occurred. It can be that a page
351   // finished printing or that the print job failed. Details is
352   // PrintJob::EventDetails. Source is a PrintJob.
353   NOTIFICATION_PRINT_JOB_EVENT,
354
355   // Sent when a PrintJob has been released.
356   // Source is the WebContents that holds the print job.
357   NOTIFICATION_PRINT_JOB_RELEASED,
358
359   // Shutdown ----------------------------------------------------------------
360
361   // Sent when WM_ENDSESSION has been received, after the browsers have been
362   // closed but before browser process has been shutdown. The source/details
363   // are all source and no details.
364   NOTIFICATION_SESSION_END,
365
366   // Upgrade notifications ---------------------------------------------------
367
368   // Sent when Chrome believes an update has been installed and available for
369   // long enough with the user shutting down to let it take effect. See
370   // upgrade_detector.cc for details on how long it waits. No details are
371   // expected.
372   NOTIFICATION_UPGRADE_RECOMMENDED,
373
374   // Sent when a critical update has been installed. No details are expected.
375   NOTIFICATION_CRITICAL_UPGRADE_INSTALLED,
376
377   // Sent when the current install is outdated. No details are expected.
378   NOTIFICATION_OUTDATED_INSTALL,
379
380   // Sent when the current install is outdated and auto-update (AU) is disabled.
381   // No details are expected.
382   NOTIFICATION_OUTDATED_INSTALL_NO_AU,
383
384   // Software incompatibility notifications ----------------------------------
385
386   // Sent when Chrome has finished compiling the list of loaded modules (and
387   // other modules of interest). No details are expected.
388   NOTIFICATION_MODULE_LIST_ENUMERATED,
389
390   // Sent when Chrome is done scanning the module list and when the user has
391   // acknowledged the module incompatibility. No details are expected.
392   NOTIFICATION_MODULE_INCOMPATIBILITY_BADGE_CHANGE,
393
394   // Content Settings --------------------------------------------------------
395
396   // Sent when content settings change. The source is a HostContentSettings
397   // object, the details are ContentSettingsNotificationsDetails.
398   NOTIFICATION_CONTENT_SETTINGS_CHANGED,
399
400   // Sent when the collect cookies dialog is shown. The source is a
401   // TabSpecificContentSettings object, there are no details.
402   NOTIFICATION_COLLECTED_COOKIES_SHOWN,
403
404   // Sent when a non-default setting in the the notification content settings
405   // map has changed. The source is the DesktopNotificationService, the
406   // details are None.
407   NOTIFICATION_DESKTOP_NOTIFICATION_SETTINGS_CHANGED,
408
409   // Sent when content settings change for a tab. The source is a
410   // content::WebContents object, the details are None.
411   NOTIFICATION_WEB_CONTENT_SETTINGS_CHANGED,
412
413   // Sync --------------------------------------------------------------------
414
415   // The sync service has finished the datatype configuration process. The
416   // source is the ProfileSyncService object of the Profile. There are no
417   // details.
418   NOTIFICATION_SYNC_CONFIGURE_DONE,
419
420   // A service is requesting a sync datatype refresh for the current profile.
421   // The details value is a const syncer::ModelTypeSet.
422   // If the payload map is empty, it should be treated as an invalidation for
423   // all enabled types. This is used by session sync.
424   NOTIFICATION_SYNC_REFRESH_LOCAL,
425
426   // External notification requesting a sync datatype refresh for the current
427   // profile. The details value is a const syncer::ObjectIdInvalidationMap.
428   // If the payload map is empty, it should be treated as an invalidation for
429   // all enabled types. This is used for notifications on Android.
430   NOTIFICATION_SYNC_REFRESH_REMOTE,
431
432   // The session service has been saved.  This notification type is only sent
433   // if there were new SessionService commands to save, and not for no-op save
434   // operations.
435   NOTIFICATION_SESSION_SERVICE_SAVED,
436
437   // A foreign session has been updated.  If a new tab page is open, the
438   // foreign session handler needs to update the new tab page's foreign
439   // session data.
440   NOTIFICATION_FOREIGN_SESSION_UPDATED,
441
442   // Foreign sessions has been disabled. New tabs should not display foreign
443   // session data.
444   NOTIFICATION_FOREIGN_SESSION_DISABLED,
445
446   // All tab metadata has been loaded from disk asynchronously.
447   // Sent on the UI thread.
448   // The source is the Profile. There are no details.
449   NOTIFICATION_SESSION_RESTORE_COMPLETE,
450
451   // Cookies -----------------------------------------------------------------
452
453   // Sent when a cookie changes. The source is a Profile object, the details
454   // are a ChromeCookieDetails object.
455   NOTIFICATION_COOKIE_CHANGED,
456
457   // Download Notifications --------------------------------------------------
458
459   // Sent when a download is initiated. It is possible that the download will
460   // not actually begin due to the DownloadRequestLimiter cancelling it
461   // prematurely.
462   // The source is the corresponding RenderViewHost. There are no details.
463   NOTIFICATION_DOWNLOAD_INITIATED,
464
465   // Misc --------------------------------------------------------------------
466
467   // Sent when PerformanceMonitor has finished all the initial steps of data
468   // collection and has begun passively observing. The source is the
469   // PerformanceMonitor*. No details are expected.
470   NOTIFICATION_PERFORMANCE_MONITOR_INITIALIZED,
471
472 #if defined(OS_CHROMEOS)
473   // Sent when a chromium os user logs in.
474   // The details are a chromeos::User object.
475   NOTIFICATION_LOGIN_USER_CHANGED,
476
477   // Sent immediately after the logged-in user's profile is ready.
478   // The details are a Profile object.
479   NOTIFICATION_LOGIN_USER_PROFILE_PREPARED,
480
481   // Sent when the chromium session of a particular user is started.
482   // If this is a new user on the machine this will not be sent until a profile
483   // picture has been selected, unlike NOTIFICATION_LOGIN_USER_CHANGED which is
484   // sent immediately after the user has logged in. This will be sent again if
485   // the browser crashes and restarts.
486   // The details are a chromeos::User object.
487   NOTIFICATION_SESSION_STARTED,
488
489   // Sent when user image is updated.
490   NOTIFICATION_LOGIN_USER_IMAGE_CHANGED,
491
492   // Sent by UserManager when a profile image download has been completed.
493   NOTIFICATION_PROFILE_IMAGE_UPDATED,
494
495   // Sent by UserManager when profile image download has failed or user has the
496   // default profile image or no profile image at all. No details are expected.
497   NOTIFICATION_PROFILE_IMAGE_UPDATE_FAILED,
498
499   // Sent when a chromium os user attempts to log in.  The source is
500   // all and the details are AuthenticationNotificationDetails.
501   NOTIFICATION_LOGIN_AUTHENTICATION,
502
503   // Sent when a network error message is displayed on the WebUI login screen.
504   // First paint event of this fires NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE.
505   NOTIFICATION_LOGIN_NETWORK_ERROR_SHOWN,
506
507   // Sent when the specific part of login/lock WebUI is considered to be
508   // visible. That moment is tracked as the first paint event after one of the:
509   // NOTIFICATION_LOGIN_NETWORK_ERROR_SHOWN
510   //
511   // Possible series of notifications:
512   // 1. Boot into fresh OOBE
513   //    NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE
514   // 2. Boot into user pods list (normal boot). Same for lock screen.
515   //    NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE
516   // 3. Boot into GAIA sign in UI (user pods display disabled or no users):
517   //    if no network is connected or flaky network
518   //    (NOTIFICATION_LOGIN_NETWORK_ERROR_SHOWN +
519   //     NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE)
520   //    NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE
521   // 4. Boot into retail mode
522   //    NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE
523   // 5. Boot into kiosk mode
524   //    NOTIFICATION_KIOSK_APP_LAUNCHED
525   NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE,
526
527   // Sent when proxy dialog is closed.
528   NOTIFICATION_LOGIN_PROXY_CHANGED,
529
530   // Send when kiosk auto-launch warning screen is visible.
531   NOTIFICATION_KIOSK_AUTOLAUNCH_WARNING_VISIBLE,
532
533   // Send when kiosk auto-launch warning screen had completed.
534   NOTIFICATION_KIOSK_AUTOLAUNCH_WARNING_COMPLETED,
535
536   // Send when enable consumer kiosk warning screen is visible.
537   NOTIFICATION_KIOSK_ENABLE_WARNING_VISIBLE,
538
539   // Send when consumer kiosk has been enabled.
540   NOTIFICATION_KIOSK_ENABLED,
541
542   // Send when enable consumer kiosk warning screen had completed.
543   NOTIFICATION_KIOSK_ENABLE_WARNING_COMPLETED,
544
545   // Sent when kiosk app list is loaded in UI.
546   NOTIFICATION_KIOSK_APPS_LOADED,
547
548   // Sent when a kiosk app is launched.
549   NOTIFICATION_KIOSK_APP_LAUNCHED,
550
551   // Sent when the user list has changed.
552   NOTIFICATION_USER_LIST_CHANGED,
553
554   // Sent when the screen lock state has changed. The source is
555   // ScreenLocker and the details is a bool specifing that the
556   // screen is locked. When details is a false, the source object
557   // is being deleted, so the receiver shouldn't use the screen locker
558   // object.
559   NOTIFICATION_SCREEN_LOCK_STATE_CHANGED,
560
561   // Sent by DeviceSettingsService to indicate that the ownership status
562   // changed. If you can, please use DeviceSettingsService::Observer instead.
563   // Other singleton-based services can't use that because Observer
564   // unregistration is impossible due to unpredictable deletion order.
565   NOTIFICATION_OWNERSHIP_STATUS_CHANGED,
566 #endif
567
568 #if defined(TOOLKIT_VIEWS)
569   // Sent when a bookmark's context menu is shown. Used to notify
570   // tests that the context menu has been created and shown.
571   NOTIFICATION_BOOKMARK_CONTEXT_MENU_SHOWN,
572
573   // Notification that the nested loop using during tab dragging has returned.
574   // Used for testing.
575   NOTIFICATION_TAB_DRAG_LOOP_DONE,
576 #endif
577
578   // Send when a context menu is shown. Used to notify tests that the context
579   // menu has been created and shown.
580   NOTIFICATION_RENDER_VIEW_CONTEXT_MENU_SHOWN,
581
582   // Sent when the Instant Controller determines whether an Instant tab supports
583   // the Instant API or not.
584   NOTIFICATION_INSTANT_TAB_SUPPORT_DETERMINED,
585
586   // Sent when the Instant Controller determines whether the NTP supports the
587   // Instant API or not.
588   NOTIFICATION_INSTANT_NTP_SUPPORT_DETERMINED,
589
590   // Sent when the CaptivePortalService checks if we're behind a captive portal.
591   // The Source is the Profile the CaptivePortalService belongs to, and the
592   // Details are a Details<CaptivePortalService::CheckResults>.
593   NOTIFICATION_CAPTIVE_PORTAL_CHECK_RESULT,
594
595   // Sent when the applications in the NTP app launcher have been reordered.
596   // The details, if not NoDetails, is the std::string ID of the extension that
597   // was moved.
598   NOTIFICATION_APP_LAUNCHER_REORDERED,
599
600   // Sent when an app is installed and an NTP has been shown. Source is the
601   // WebContents that was shown, and Details is the string ID of the extension
602   // which was installed.
603   NOTIFICATION_APP_INSTALLED_TO_NTP,
604
605   // Similar to NOTIFICATION_APP_INSTALLED_TO_NTP but used to notify ash AppList
606   // about installed app. Source is the profile in which the app is installed
607   // and Details is the string ID of the extension.
608   NOTIFICATION_APP_INSTALLED_TO_APPLIST,
609
610 #if defined(USE_ASH)
611   // Sent when wallpaper show animation has finished.
612   NOTIFICATION_WALLPAPER_ANIMATION_FINISHED,
613
614   // Sent when the Ash session has started. In its current incantation this is
615   // generated when the metro app has connected to the browser IPC channel.
616   // Used only on Windows.
617   NOTIFICATION_ASH_SESSION_STARTED,
618
619   // Sent when the Ash session ended. Currently this means the metro app exited.
620   // Used only on Windows.
621   NOTIFICATION_ASH_SESSION_ENDED,
622 #endif
623
624   // Protocol Handler Registry -----------------------------------------------
625   // Sent when a ProtocolHandlerRegistry is changed. The source is the profile.
626   NOTIFICATION_PROTOCOL_HANDLER_REGISTRY_CHANGED,
627
628   // Sent when the cached profile info has changed.
629   NOTIFICATION_PROFILE_CACHED_INFO_CHANGED,
630
631   // Sent when the cached profile has finished writing a profile picture to
632   // disk.
633   NOTIFICATION_PROFILE_CACHE_PICTURE_SAVED,
634
635   // Sent when the browser enters or exits fullscreen mode.
636   NOTIFICATION_FULLSCREEN_CHANGED,
637
638   // Sent when the FullscreenController changes, confirms, or denies mouse lock.
639   // The source is the browser's FullscreenController, no details.
640   NOTIFICATION_MOUSE_LOCK_CHANGED,
641
642   // Sent by the PluginPrefs when there is a change of plugin enable/disable
643   // status. The source is the profile.
644   NOTIFICATION_PLUGIN_ENABLE_STATUS_CHANGED,
645
646   // Panels Notifications. The Panels are small browser windows near the bottom
647   // of the screen.
648   // Sent when all nonblocking bounds animations are finished across panels.
649   // Used only in unit testing.
650   NOTIFICATION_PANEL_BOUNDS_ANIMATIONS_FINISHED,
651
652   // Sent when panel gains/loses focus.
653   // The source is the Panel, no details.
654   // Used only in unit testing.
655   NOTIFICATION_PANEL_CHANGED_ACTIVE_STATUS,
656
657   // Sent when panel is minimized/restored/shows title only etc.
658   // The source is the Panel, no details.
659   NOTIFICATION_PANEL_CHANGED_EXPANSION_STATE,
660
661   // Sent when panel window size is known. This is for platforms where the
662   // window creation is async and size of the window only becomes known later.
663   // Used only in unit testing.
664   NOTIFICATION_PANEL_WINDOW_SIZE_KNOWN,
665
666   // Sent when panel app icon is loaded.
667   // Used only in unit testing.
668   NOTIFICATION_PANEL_APP_ICON_LOADED,
669
670   // Sent when panel collection get updated.
671   // The source is the PanelCollection, no details.
672   // Used only in coordination with notification balloons.
673   NOTIFICATION_PANEL_COLLECTION_UPDATED,
674
675   // Sent when panel is closed.
676   // The source is the Panel, no details.
677   NOTIFICATION_PANEL_CLOSED,
678
679   // Sent when a global error has changed and the error UI should update it
680   // self. The source is a Source<Profile> containing the profile for the
681   // error. The detail is a GlobalError object that has changed or NULL if
682   // all error UIs should update.
683   NOTIFICATION_GLOBAL_ERRORS_CHANGED,
684
685   // BrowsingDataRemover ----------------------------------------------------
686   // Sent on the UI thread after BrowsingDataRemover has removed browsing data
687   // but before it has notified its explicit observers. The source is a
688   // Source<Profile> containing the profile in which browsing data was removed,
689   // and the detail is a BrowsingDataRemover::NotificationDetail containing the
690   // removal mask and the start of the removal timeframe with which
691   // BrowsingDataRemove::Remove was called.
692   NOTIFICATION_BROWSING_DATA_REMOVED,
693
694   // The user accepted or dismissed a SSL client authentication request.
695   // The source is a Source<net::HttpNetworkSession>.  Details is a
696   // (std::pair<net::SSLCertRequestInfo*, net::X509Certificate*>).
697   NOTIFICATION_SSL_CLIENT_AUTH_CERT_SELECTED,
698
699   // Session Restore --------------------------------------------------------
700
701   // Sent when synchronous (startup) session restore completes. No details or
702   // source.
703   NOTIFICATION_SESSION_RESTORE_DONE,
704
705   // Note:-
706   // Currently only Content and Chrome define and use notifications.
707   // Custom notifications not belonging to Content and Chrome should start
708   // from here.
709   NOTIFICATION_CHROME_END,
710 };
711
712 }  // namespace chrome
713
714 #endif  // CHROME_BROWSER_CHROME_NOTIFICATION_TYPES_H_