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