Adding instrumentation to locate the source of jankiness
[chromium-blink-merge.git] / chrome / browser / chrome_notification_types.h
blob4a94b8b103d4d6b8e31decb574a1d07a71c82b22
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.
5 #ifndef CHROME_BROWSER_CHROME_NOTIFICATION_TYPES_H_
6 #define CHROME_BROWSER_CHROME_NOTIFICATION_TYPES_H_
8 #include "build/build_config.h"
10 #if defined(ENABLE_EXTENSIONS)
11 #include "extensions/browser/notification_types.h"
12 #else
13 #include "content/public/browser/notification_types.h"
14 #endif
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
22 namespace chrome {
24 enum NotificationType {
25 NOTIFICATION_CHROME_START = PREVIOUS_END,
27 // Browser-window ----------------------------------------------------------
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,
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,
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,
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,
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,
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,
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
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,
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,
80 // The user has changed the browser theme. The source is a
81 // Source<ThemeService>. There are no details.
82 NOTIFICATION_BROWSER_THEME_CHANGED,
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)
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,
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,
100 // Application-wide ----------------------------------------------------------
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,
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
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.
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,
127 // Application-modal dialogs -----------------------------------------------
129 // Sent after an application-modal dialog has been shown. The source
130 // is the dialog.
131 NOTIFICATION_APP_MODAL_DIALOG_SHOWN,
133 // This message is sent when a new InfoBar has been added to an
134 // InfoBarService. The source is a Source<InfoBarService> with a pointer to
135 // the InfoBarService the InfoBar was added to. The details is a
136 // Details<InfoBar::AddedDetails>.
137 NOTIFICATION_TAB_CONTENTS_INFOBAR_ADDED,
139 // This message is sent when an InfoBar is about to be removed from an
140 // InfoBarService. The source is a Source<InfoBarService> with a pointer to
141 // the InfoBarService the InfoBar was removed from. The details is a
142 // Details<InfoBar::RemovedDetails>.
143 NOTIFICATION_TAB_CONTENTS_INFOBAR_REMOVED,
145 // Used to fire notifications about how long various events took to
146 // complete. E.g., this is used to get more fine grained timings from the
147 // new tab page. The source is a WebContents and the details is a
148 // MetricEventDurationDetails.
149 NOTIFICATION_METRIC_EVENT_DURATION,
151 #if defined(ENABLE_EXTENSIONS)
152 // This notification is sent when extensions::TabHelper::SetExtensionApp is
153 // invoked. The source is the extensions::TabHelper SetExtensionApp was
154 // invoked on.
155 NOTIFICATION_TAB_CONTENTS_APPLICATION_EXTENSION_CHANGED,
156 #endif
158 // Tabs --------------------------------------------------------------------
160 // Sent when a tab is added to a WebContentsDelegate. The source is the
161 // WebContentsDelegate and the details is the added WebContents.
162 NOTIFICATION_TAB_ADDED,
164 // This notification is sent after a tab has been appended to the tab_strip.
165 // The source is a Source<WebContents> of the tab being added. There
166 // are no details.
167 NOTIFICATION_TAB_PARENTED,
169 // This message is sent before a tab has been closed. The source is a
170 // Source<NavigationController> with a pointer to the controller for the
171 // closed tab. No details are expected.
173 // See also content::NOTIFICATION_WEB_CONTENTS_DESTROYED, which is sent when
174 // the WebContents containing the NavigationController is destroyed.
175 NOTIFICATION_TAB_CLOSING,
177 // Stuff inside the tabs ---------------------------------------------------
179 // This notification is sent when the result of a find-in-page search is
180 // available with the browser process. The source is a Source<WebContents>.
181 // Details encompass a FindNotificationDetail object that tells whether the
182 // match was found or not found.
183 NOTIFICATION_FIND_RESULT_AVAILABLE,
185 // BackgroundContents ------------------------------------------------------
187 // A new background contents was opened by script. The source is the parent
188 // profile and the details are BackgroundContentsOpenedDetails.
189 NOTIFICATION_BACKGROUND_CONTENTS_OPENED,
191 // The background contents navigated to a new location. The source is the
192 // parent Profile, and the details are the BackgroundContents that was
193 // navigated.
194 NOTIFICATION_BACKGROUND_CONTENTS_NAVIGATED,
196 // The background contents were closed by someone invoking window.close()
197 // or the parent application was uninstalled.
198 // The source is the parent profile, and the details are the
199 // BackgroundContents.
200 NOTIFICATION_BACKGROUND_CONTENTS_CLOSED,
202 // The background contents is being deleted. The source is the
203 // parent Profile, and the details are the BackgroundContents being deleted.
204 NOTIFICATION_BACKGROUND_CONTENTS_DELETED,
206 // The background contents has crashed. The source is the parent Profile,
207 // and the details are the BackgroundContents.
208 NOTIFICATION_BACKGROUND_CONTENTS_TERMINATED,
210 // The background contents associated with a hosted app has changed (either
211 // a new background contents has been created, or an existing background
212 // contents has closed). The source is the parent Profile, and the details
213 // are the BackgroundContentsService.
214 NOTIFICATION_BACKGROUND_CONTENTS_SERVICE_CHANGED,
216 // Chrome has entered/exited background mode. The source is the
217 // BackgroundModeManager and the details are a boolean value which is set to
218 // true if Chrome is now in background mode.
219 NOTIFICATION_BACKGROUND_MODE_CHANGED,
221 // This is sent when a login prompt is shown. The source is the
222 // Source<NavigationController> for the tab in which the prompt is shown.
223 // Details are a LoginNotificationDetails which provide the LoginHandler
224 // that should be given authentication.
225 NOTIFICATION_AUTH_NEEDED,
227 // This is sent when authentication credentials have been supplied (either
228 // by the user or by an automation service), but before we've actually
229 // received another response from the server. The source is the
230 // Source<NavigationController> for the tab in which the prompt was shown.
231 // Details are an AuthSuppliedLoginNotificationDetails which provide the
232 // LoginHandler that should be given authentication as well as the supplied
233 // username and password.
234 NOTIFICATION_AUTH_SUPPLIED,
236 // This is sent when an authentication request has been dismissed without
237 // supplying credentials (either by the user or by an automation service).
238 // The source is the Source<NavigationController> for the tab in which the
239 // prompt was shown. Details are a LoginNotificationDetails which provide
240 // the LoginHandler that should be cancelled.
241 NOTIFICATION_AUTH_CANCELLED,
243 // History -----------------------------------------------------------------
245 // Sent when a history service has finished loading. The source is the
246 // profile that the history service belongs to, and the details is the
247 // HistoryService.
248 NOTIFICATION_HISTORY_LOADED,
250 // Sent when a URL has been added or modified. This is used by the in-memory
251 // URL database and the InMemoryURLIndex (both used by autocomplete) to track
252 // changes to the main history system.
254 // The source is the profile owning the history service that changed, and
255 // the details is history::URLsModifiedDetails that lists the modified or
256 // added URLs.
257 NOTIFICATION_HISTORY_URLS_MODIFIED,
259 // Sent when one or more URLs are deleted.
261 // The source is the profile owning the history service that changed, and
262 // the details is history::URLsDeletedDetails that lists the deleted URLs.
263 NOTIFICATION_HISTORY_URLS_DELETED,
265 // Sent when a keyword search term is updated. The source is the Profile and
266 // the details is history::KeywordSearchUpdatedDetails.
267 NOTIFICATION_HISTORY_KEYWORD_SEARCH_TERM_UPDATED,
269 // Sent when a keyword search term is deleted. The source is the Profile and
270 // the details is history::KeywordSearchDeletedDetails.
271 NOTIFICATION_HISTORY_KEYWORD_SEARCH_TERM_DELETED,
273 // Sent by FaviconTabHelper when a tab's favicon has been successfully
274 // updated. The details are a bool indicating whether the
275 // NavigationEntry's favicon URL has changed since the previous
276 // NOTIFICATION_FAVICON_UPDATED notification. The details are true if
277 // there was no previous NOTIFICATION_FAVICON_UPDATED notification for the
278 // current NavigationEntry.
279 NOTIFICATION_FAVICON_UPDATED,
281 // Profiles -----------------------------------------------------------------
283 // Sent after a Profile has been created. This notification is sent both for
284 // normal and OTR profiles.
285 // The details are none and the source is the new profile.
286 NOTIFICATION_PROFILE_CREATED,
288 // Sent after a Profile has been added to ProfileManager.
289 // The details are none and the source is the new profile.
290 NOTIFICATION_PROFILE_ADDED,
292 // Sent early in the process of destroying a Profile, at the time a user
293 // initiates the deletion of a profile versus the much later time when the
294 // profile object is actually destroyed (use NOTIFICATION_PROFILE_DESTROYED).
295 // The details are none and the source is a Profile*.
296 NOTIFICATION_PROFILE_DESTRUCTION_STARTED,
298 // Sent before a Profile is destroyed. This notification is sent both for
299 // normal and OTR profiles.
300 // The details are none and the source is a Profile*.
301 NOTIFICATION_PROFILE_DESTROYED,
303 // Sent after the URLRequestContextGetter for a Profile has been initialized.
304 // The details are none and the source is a Profile*.
305 NOTIFICATION_PROFILE_URL_REQUEST_CONTEXT_GETTER_INITIALIZED,
307 // TopSites ----------------------------------------------------------------
309 // Sent by TopSites when it finishes loading. The source is the profile the
310 // details the TopSites.
311 NOTIFICATION_TOP_SITES_LOADED,
313 // Sent by TopSites when the either one of the most visited urls changed, or
314 // one of the images changes. The source is the TopSites, the details not
315 // used.
316 NOTIFICATION_TOP_SITES_CHANGED,
318 // Task Manager ------------------------------------------------------------
320 // Sent when a renderer process is notified of new v8 heap statistics. The
321 // source is the ID of the renderer process, and the details are a
322 // V8HeapStatsDetails object.
323 NOTIFICATION_RENDERER_V8_HEAP_STATS_COMPUTED,
325 // Non-history storage services --------------------------------------------
327 // The state of a web resource has been changed. A resource may have been
328 // added, removed, or altered. Source is WebResourceService, and the
329 // details are NoDetails.
330 NOTIFICATION_PROMO_RESOURCE_STATE_CHANGED,
332 // A safe browsing database update completed. Source is the
333 // SafeBrowsingService and the details are a bool indicating whether the
334 // update was successful.
335 NOTIFICATION_SAFE_BROWSING_UPDATE_COMPLETE,
337 // Autocomplete ------------------------------------------------------------
339 // Sent by the autocomplete controller when done. The source is the
340 // AutocompleteController, the details not used.
341 NOTIFICATION_AUTOCOMPLETE_CONTROLLER_RESULT_READY,
343 // This is sent when an item of the Omnibox popup is selected. The source
344 // is the profile.
345 NOTIFICATION_OMNIBOX_OPENED_URL,
347 // This is sent from Instant when the omnibox focus state changes.
348 NOTIFICATION_OMNIBOX_FOCUS_CHANGED,
350 // Printing ----------------------------------------------------------------
352 // Notification from PrintJob that an event occurred. It can be that a page
353 // finished printing or that the print job failed. Details is
354 // PrintJob::EventDetails. Source is a PrintJob.
355 NOTIFICATION_PRINT_JOB_EVENT,
357 // Sent when a PrintJob has been released.
358 // Source is the WebContents that holds the print job.
359 NOTIFICATION_PRINT_JOB_RELEASED,
361 // Shutdown ----------------------------------------------------------------
363 // Sent when WM_ENDSESSION has been received, after the browsers have been
364 // closed but before browser process has been shutdown. The source/details
365 // are all source and no details.
366 NOTIFICATION_SESSION_END,
368 // Upgrade notifications ---------------------------------------------------
370 // Sent when Chrome believes an update has been installed and available for
371 // long enough with the user shutting down to let it take effect. See
372 // upgrade_detector.cc for details on how long it waits. No details are
373 // expected.
374 NOTIFICATION_UPGRADE_RECOMMENDED,
376 // Sent when a critical update has been installed. No details are expected.
377 NOTIFICATION_CRITICAL_UPGRADE_INSTALLED,
379 // Sent when the current install is outdated. No details are expected.
380 NOTIFICATION_OUTDATED_INSTALL,
382 // Sent when the current install is outdated and auto-update (AU) is disabled.
383 // No details are expected.
384 NOTIFICATION_OUTDATED_INSTALL_NO_AU,
386 // Software incompatibility notifications ----------------------------------
388 // Sent when Chrome has finished compiling the list of loaded modules (and
389 // other modules of interest). No details are expected.
390 NOTIFICATION_MODULE_LIST_ENUMERATED,
392 // Sent when Chrome is done scanning the module list and when the user has
393 // acknowledged the module incompatibility. No details are expected.
394 NOTIFICATION_MODULE_INCOMPATIBILITY_BADGE_CHANGE,
396 // Content Settings --------------------------------------------------------
398 // Sent when the collect cookies dialog is shown. The source is a
399 // TabSpecificContentSettings object, there are no details.
400 NOTIFICATION_COLLECTED_COOKIES_SHOWN,
402 // Sent when a non-default setting in the the notification content settings
403 // map has changed. The source is the DesktopNotificationService, the
404 // details are None.
405 NOTIFICATION_DESKTOP_NOTIFICATION_SETTINGS_CHANGED,
407 // Sent when content settings change for a tab. The source is a
408 // content::WebContents object, the details are None.
409 NOTIFICATION_WEB_CONTENT_SETTINGS_CHANGED,
411 // Sync --------------------------------------------------------------------
413 // The sync service has finished the datatype configuration process. The
414 // source is the ProfileSyncService object of the Profile. There are no
415 // details.
416 NOTIFICATION_SYNC_CONFIGURE_DONE,
418 // A service is requesting a sync datatype refresh for the current profile.
419 // The details value is a const syncer::ModelTypeSet.
420 // If the payload map is empty, it should be treated as an invalidation for
421 // all enabled types. This is used by session sync.
422 NOTIFICATION_SYNC_REFRESH_LOCAL,
424 // External notification requesting a sync datatype refresh for the current
425 // profile. The details value is a const syncer::ObjectIdInvalidationMap.
426 // If the payload map is empty, it should be treated as an invalidation for
427 // all enabled types. This is used for notifications on Android.
428 NOTIFICATION_SYNC_REFRESH_REMOTE,
430 // The session service has been saved. This notification type is only sent
431 // if there were new SessionService commands to save, and not for no-op save
432 // operations.
433 NOTIFICATION_SESSION_SERVICE_SAVED,
435 // A foreign session has been updated. If a new tab page is open, the
436 // foreign session handler needs to update the new tab page's foreign
437 // session data.
438 NOTIFICATION_FOREIGN_SESSION_UPDATED,
440 // Foreign sessions has been disabled. New tabs should not display foreign
441 // session data.
442 NOTIFICATION_FOREIGN_SESSION_DISABLED,
444 // All tab metadata has been loaded from disk asynchronously.
445 // Sent on the UI thread.
446 // The source is the Profile. There are no details.
447 NOTIFICATION_SESSION_RESTORE_COMPLETE,
449 // Cookies -----------------------------------------------------------------
451 // Sent when a cookie changes. The source is a Profile object, the details
452 // are a ChromeCookieDetails object.
453 NOTIFICATION_COOKIE_CHANGED,
455 // Download Notifications --------------------------------------------------
457 // Sent when a download is initiated. It is possible that the download will
458 // not actually begin due to the DownloadRequestLimiter cancelling it
459 // prematurely.
460 // The source is the corresponding RenderViewHost. There are no details.
461 NOTIFICATION_DOWNLOAD_INITIATED,
463 // Misc --------------------------------------------------------------------
465 #if defined(OS_CHROMEOS)
466 // Sent when a chromium os user logs in.
467 // The details are a chromeos::User object.
468 NOTIFICATION_LOGIN_USER_CHANGED,
470 // Sent immediately after the logged-in user's profile is ready.
471 // The details are a Profile object.
472 NOTIFICATION_LOGIN_USER_PROFILE_PREPARED,
474 // Sent when the chromium session of a particular user is started.
475 // If this is a new user on the machine this will not be sent until a profile
476 // picture has been selected, unlike NOTIFICATION_LOGIN_USER_CHANGED which is
477 // sent immediately after the user has logged in. This will be sent again if
478 // the browser crashes and restarts.
479 // The details are a chromeos::User object.
480 NOTIFICATION_SESSION_STARTED,
482 // Sent when user image is updated.
483 NOTIFICATION_LOGIN_USER_IMAGE_CHANGED,
485 // Sent by UserManager when a profile image download has been completed.
486 NOTIFICATION_PROFILE_IMAGE_UPDATED,
488 // Sent by UserManager when profile image download has failed or user has the
489 // default profile image or no profile image at all. No details are expected.
490 NOTIFICATION_PROFILE_IMAGE_UPDATE_FAILED,
492 // Sent when a network error message is displayed on the WebUI login screen.
493 // First paint event of this fires NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE.
494 NOTIFICATION_LOGIN_NETWORK_ERROR_SHOWN,
496 // Sent when the specific part of login/lock WebUI is considered to be
497 // visible. That moment is tracked as the first paint event after one of the:
498 // NOTIFICATION_LOGIN_NETWORK_ERROR_SHOWN
500 // Possible series of notifications:
501 // 1. Boot into fresh OOBE
502 // NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE
503 // 2. Boot into user pods list (normal boot). Same for lock screen.
504 // NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE
505 // 3. Boot into GAIA sign in UI (user pods display disabled or no users):
506 // if no network is connected or flaky network
507 // (NOTIFICATION_LOGIN_NETWORK_ERROR_SHOWN +
508 // NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE)
509 // NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE
510 // 4. Boot into retail mode
511 // NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE
512 // 5. Boot into kiosk mode
513 // NOTIFICATION_KIOSK_APP_LAUNCHED
514 NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE,
516 // Sent when proxy dialog is closed.
517 NOTIFICATION_LOGIN_PROXY_CHANGED,
519 // Send when kiosk auto-launch warning screen is visible.
520 NOTIFICATION_KIOSK_AUTOLAUNCH_WARNING_VISIBLE,
522 // Send when kiosk auto-launch warning screen had completed.
523 NOTIFICATION_KIOSK_AUTOLAUNCH_WARNING_COMPLETED,
525 // Send when enable consumer kiosk warning screen is visible.
526 NOTIFICATION_KIOSK_ENABLE_WARNING_VISIBLE,
528 // Send when consumer kiosk has been enabled.
529 NOTIFICATION_KIOSK_ENABLED,
531 // Send when enable consumer kiosk warning screen had completed.
532 NOTIFICATION_KIOSK_ENABLE_WARNING_COMPLETED,
534 // Sent when kiosk app list is loaded in UI.
535 NOTIFICATION_KIOSK_APPS_LOADED,
537 // Sent when a kiosk app is launched.
538 NOTIFICATION_KIOSK_APP_LAUNCHED,
540 // Sent when the user list has changed.
541 NOTIFICATION_USER_LIST_CHANGED,
543 // Sent when the screen lock state has changed. The source is
544 // ScreenLocker and the details is a bool specifing that the
545 // screen is locked. When details is a false, the source object
546 // is being deleted, so the receiver shouldn't use the screen locker
547 // object.
548 NOTIFICATION_SCREEN_LOCK_STATE_CHANGED,
550 // Sent by DeviceSettingsService to indicate that the ownership status
551 // changed. If you can, please use DeviceSettingsService::Observer instead.
552 // Other singleton-based services can't use that because Observer
553 // unregistration is impossible due to unpredictable deletion order.
554 NOTIFICATION_OWNERSHIP_STATUS_CHANGED,
555 #endif
557 #if defined(TOOLKIT_VIEWS)
558 // Sent when a bookmark's context menu is shown. Used to notify
559 // tests that the context menu has been created and shown.
560 NOTIFICATION_BOOKMARK_CONTEXT_MENU_SHOWN,
562 // Notification that the nested loop using during tab dragging has returned.
563 // Used for testing.
564 NOTIFICATION_TAB_DRAG_LOOP_DONE,
565 #endif
567 // Send when a context menu is shown. Used to notify tests that the context
568 // menu has been created and shown.
569 NOTIFICATION_RENDER_VIEW_CONTEXT_MENU_SHOWN,
571 // Sent when the Instant Controller determines whether an Instant tab supports
572 // the Instant API or not.
573 NOTIFICATION_INSTANT_TAB_SUPPORT_DETERMINED,
575 // Sent when the Instant Controller determines whether the NTP supports the
576 // Instant API or not.
577 NOTIFICATION_INSTANT_NTP_SUPPORT_DETERMINED,
579 // Sent when the CaptivePortalService checks if we're behind a captive portal.
580 // The Source is the Profile the CaptivePortalService belongs to, and the
581 // Details are a Details<CaptivePortalService::CheckResults>.
582 NOTIFICATION_CAPTIVE_PORTAL_CHECK_RESULT,
584 // Sent when the applications in the NTP app launcher have been reordered.
585 // The details, if not NoDetails, is the std::string ID of the extension that
586 // was moved.
587 NOTIFICATION_APP_LAUNCHER_REORDERED,
589 // Sent when an app is installed and an NTP has been shown. Source is the
590 // WebContents that was shown, and Details is the string ID of the extension
591 // which was installed.
592 NOTIFICATION_APP_INSTALLED_TO_NTP,
594 #if defined(USE_ASH)
595 // Sent when wallpaper show animation has finished.
596 NOTIFICATION_WALLPAPER_ANIMATION_FINISHED,
598 // Sent when the Ash session has started. In its current incantation this is
599 // generated when the metro app has connected to the browser IPC channel.
600 // Used only on Windows.
601 NOTIFICATION_ASH_SESSION_STARTED,
603 // Sent when the Ash session ended. Currently this means the metro app exited.
604 // Used only on Windows.
605 NOTIFICATION_ASH_SESSION_ENDED,
606 #endif
608 // Protocol Handler Registry -----------------------------------------------
609 // Sent when a ProtocolHandlerRegistry is changed. The source is the profile.
610 NOTIFICATION_PROTOCOL_HANDLER_REGISTRY_CHANGED,
612 // Sent when the cached profile info has changed.
613 NOTIFICATION_PROFILE_CACHED_INFO_CHANGED,
615 // Sent when the cached profile has finished writing a profile picture to
616 // disk.
617 NOTIFICATION_PROFILE_CACHE_PICTURE_SAVED,
619 // Sent when the browser enters or exits fullscreen mode.
620 NOTIFICATION_FULLSCREEN_CHANGED,
622 // Sent when the FullscreenController changes, confirms, or denies mouse lock.
623 // The source is the browser's FullscreenController, no details.
624 NOTIFICATION_MOUSE_LOCK_CHANGED,
626 // Sent by the PluginPrefs when there is a change of plugin enable/disable
627 // status. The source is the profile.
628 NOTIFICATION_PLUGIN_ENABLE_STATUS_CHANGED,
630 // Panels Notifications. The Panels are small browser windows near the bottom
631 // of the screen.
632 // Sent when all nonblocking bounds animations are finished across panels.
633 // Used only in unit testing.
634 NOTIFICATION_PANEL_BOUNDS_ANIMATIONS_FINISHED,
636 // Sent when panel gains/loses focus.
637 // The source is the Panel, no details.
638 // Used only in unit testing.
639 NOTIFICATION_PANEL_CHANGED_ACTIVE_STATUS,
641 // Sent when panel is minimized/restored/shows title only etc.
642 // The source is the Panel, no details.
643 NOTIFICATION_PANEL_CHANGED_EXPANSION_STATE,
645 // Sent when panel window size is known. This is for platforms where the
646 // window creation is async and size of the window only becomes known later.
647 // Used only in unit testing.
648 NOTIFICATION_PANEL_WINDOW_SIZE_KNOWN,
650 // Sent when panel app icon is loaded.
651 // Used only in unit testing.
652 NOTIFICATION_PANEL_APP_ICON_LOADED,
654 // Sent when panel collection get updated.
655 // The source is the PanelCollection, no details.
656 // Used only in coordination with notification balloons.
657 NOTIFICATION_PANEL_COLLECTION_UPDATED,
659 // Sent when panel is closed.
660 // The source is the Panel, no details.
661 NOTIFICATION_PANEL_CLOSED,
663 // Sent when a global error has changed and the error UI should update it
664 // self. The source is a Source<Profile> containing the profile for the
665 // error. The detail is a GlobalError object that has changed or NULL if
666 // all error UIs should update.
667 NOTIFICATION_GLOBAL_ERRORS_CHANGED,
669 // BrowsingDataRemover ----------------------------------------------------
670 // Sent on the UI thread after BrowsingDataRemover has removed browsing data
671 // but before it has notified its explicit observers. The source is a
672 // Source<Profile> containing the profile in which browsing data was removed,
673 // and the detail is a BrowsingDataRemover::NotificationDetail containing the
674 // removal mask and the start of the removal timeframe with which
675 // BrowsingDataRemove::Remove was called.
676 NOTIFICATION_BROWSING_DATA_REMOVED,
678 // The user accepted or dismissed a SSL client authentication request.
679 // The source is a Source<net::HttpNetworkSession>. Details is a
680 // (std::pair<net::SSLCertRequestInfo*, net::X509Certificate*>).
681 NOTIFICATION_SSL_CLIENT_AUTH_CERT_SELECTED,
683 // Session Restore --------------------------------------------------------
685 // Sent when synchronous (startup) session restore completes. No details or
686 // source.
687 NOTIFICATION_SESSION_RESTORE_DONE,
689 // Note:-
690 // Currently only Content and Chrome define and use notifications.
691 // Custom notifications not belonging to Content and Chrome should start
692 // from here.
693 NOTIFICATION_CHROME_END,
696 } // namespace chrome
698 #endif // CHROME_BROWSER_CHROME_NOTIFICATION_TYPES_H_