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"
9 #include "extensions/browser/notification_types.h"
13 enum NotificationType
{
14 NOTIFICATION_CHROME_START
= extensions::NOTIFICATION_EXTENSIONS_END
,
16 // Browser-window ----------------------------------------------------------
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
21 NOTIFICATION_BROWSER_OPENED
= NOTIFICATION_CHROME_START
,
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
,
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
,
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
,
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
44 NOTIFICATION_BROWSER_CLOSE_CANCELLED
,
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
,
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
,
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
,
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
,
69 // The user has changed the browser theme. The source is a
70 // Source<ThemeService>. There are no details.
71 NOTIFICATION_BROWSER_THEME_CHANGED
,
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)
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
,
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
,
89 // Application-wide ----------------------------------------------------------
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
96 NOTIFICATION_APP_TERMINATING
,
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
102 NOTIFICATION_NO_KEY_WINDOW
,
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.
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
,
116 // Application-modal dialogs -----------------------------------------------
118 // Sent after an application-modal dialog has been shown. The source
120 NOTIFICATION_APP_MODAL_DIALOG_SHOWN
,
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
,
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
,
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
,
140 // This notification is sent when extensions::TabHelper::SetExtensionApp is
141 // invoked. The source is the extensions::TabHelper SetExtensionApp was
143 NOTIFICATION_TAB_CONTENTS_APPLICATION_EXTENSION_CHANGED
,
145 // Tabs --------------------------------------------------------------------
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
,
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
154 NOTIFICATION_TAB_PARENTED
,
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.
160 // See also content::NOTIFICATION_WEB_CONTENTS_DESTROYED, which is sent when
161 // the WebContents containing the NavigationController is destroyed.
162 NOTIFICATION_TAB_CLOSING
,
164 // Stuff inside the tabs ---------------------------------------------------
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
,
172 // BackgroundContents ------------------------------------------------------
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
,
178 // The background contents navigated to a new location. The source is the
179 // parent Profile, and the details are the BackgroundContents that was
181 NOTIFICATION_BACKGROUND_CONTENTS_NAVIGATED
,
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
,
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
,
193 // The background contents has crashed. The source is the parent Profile,
194 // and the details are the BackgroundContents.
195 NOTIFICATION_BACKGROUND_CONTENTS_TERMINATED
,
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
,
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
,
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
,
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
,
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
,
230 // History -----------------------------------------------------------------
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
235 NOTIFICATION_HISTORY_LOADED
,
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.
241 // The source is the profile owning the history service that changed, and
242 // the details is history::URLsModifiedDetails that lists the modified or
244 NOTIFICATION_HISTORY_URLS_MODIFIED
,
246 // Sent when the user visits a URL.
248 // The source is the profile owning the history service that changed, and
249 // the details is history::URLVisitedDetails.
250 NOTIFICATION_HISTORY_URL_VISITED
,
252 // Sent when one or more URLs are deleted.
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
,
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
,
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
,
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
,
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
,
279 // Profiles -----------------------------------------------------------------
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
,
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
,
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
,
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
,
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
,
305 // TopSites ----------------------------------------------------------------
307 // Sent by TopSites when it finishes loading. The source is the profile the
308 // details the TopSites.
309 NOTIFICATION_TOP_SITES_LOADED
,
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
314 NOTIFICATION_TOP_SITES_CHANGED
,
316 // Task Manager ------------------------------------------------------------
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
,
323 // Non-history storage services --------------------------------------------
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
,
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
,
335 // Autocomplete ------------------------------------------------------------
337 // Sent by the autocomplete controller when done. The source is the
338 // AutocompleteController, the details not used.
339 NOTIFICATION_AUTOCOMPLETE_CONTROLLER_RESULT_READY
,
341 // This is sent when an item of the Omnibox popup is selected. The source
343 NOTIFICATION_OMNIBOX_OPENED_URL
,
345 // This is sent from Instant when the omnibox focus state changes.
346 NOTIFICATION_OMNIBOX_FOCUS_CHANGED
,
348 // Printing ----------------------------------------------------------------
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
,
355 // Sent when a PrintJob has been released.
356 // Source is the WebContents that holds the print job.
357 NOTIFICATION_PRINT_JOB_RELEASED
,
359 // Shutdown ----------------------------------------------------------------
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
,
366 // Upgrade notifications ---------------------------------------------------
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
372 NOTIFICATION_UPGRADE_RECOMMENDED
,
374 // Sent when a critical update has been installed. No details are expected.
375 NOTIFICATION_CRITICAL_UPGRADE_INSTALLED
,
377 // Sent when the current install is outdated. No details are expected.
378 NOTIFICATION_OUTDATED_INSTALL
,
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
,
384 // Software incompatibility notifications ----------------------------------
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
,
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
,
394 // Content Settings --------------------------------------------------------
396 // Sent when the collect cookies dialog is shown. The source is a
397 // TabSpecificContentSettings object, there are no details.
398 NOTIFICATION_COLLECTED_COOKIES_SHOWN
,
400 // Sent when a non-default setting in the the notification content settings
401 // map has changed. The source is the DesktopNotificationService, the
403 NOTIFICATION_DESKTOP_NOTIFICATION_SETTINGS_CHANGED
,
405 // Sent when content settings change for a tab. The source is a
406 // content::WebContents object, the details are None.
407 NOTIFICATION_WEB_CONTENT_SETTINGS_CHANGED
,
409 // Sync --------------------------------------------------------------------
411 // The sync service has finished the datatype configuration process. The
412 // source is the ProfileSyncService object of the Profile. There are no
414 NOTIFICATION_SYNC_CONFIGURE_DONE
,
416 // A service is requesting a sync datatype refresh for the current profile.
417 // The details value is a const syncer::ModelTypeSet.
418 // If the payload map is empty, it should be treated as an invalidation for
419 // all enabled types. This is used by session sync.
420 NOTIFICATION_SYNC_REFRESH_LOCAL
,
422 // External notification requesting a sync datatype refresh for the current
423 // profile. The details value is a const syncer::ObjectIdInvalidationMap.
424 // If the payload map is empty, it should be treated as an invalidation for
425 // all enabled types. This is used for notifications on Android.
426 NOTIFICATION_SYNC_REFRESH_REMOTE
,
428 // The session service has been saved. This notification type is only sent
429 // if there were new SessionService commands to save, and not for no-op save
431 NOTIFICATION_SESSION_SERVICE_SAVED
,
433 // A foreign session has been updated. If a new tab page is open, the
434 // foreign session handler needs to update the new tab page's foreign
436 NOTIFICATION_FOREIGN_SESSION_UPDATED
,
438 // Foreign sessions has been disabled. New tabs should not display foreign
440 NOTIFICATION_FOREIGN_SESSION_DISABLED
,
442 // All tab metadata has been loaded from disk asynchronously.
443 // Sent on the UI thread.
444 // The source is the Profile. There are no details.
445 NOTIFICATION_SESSION_RESTORE_COMPLETE
,
447 // Cookies -----------------------------------------------------------------
449 // Sent when a cookie changes. The source is a Profile object, the details
450 // are a ChromeCookieDetails object.
451 NOTIFICATION_COOKIE_CHANGED
,
453 // Download Notifications --------------------------------------------------
455 // Sent when a download is initiated. It is possible that the download will
456 // not actually begin due to the DownloadRequestLimiter cancelling it
458 // The source is the corresponding RenderViewHost. There are no details.
459 NOTIFICATION_DOWNLOAD_INITIATED
,
461 // Misc --------------------------------------------------------------------
463 // Sent when PerformanceMonitor has finished all the initial steps of data
464 // collection and has begun passively observing. The source is the
465 // PerformanceMonitor*. No details are expected.
466 NOTIFICATION_PERFORMANCE_MONITOR_INITIALIZED
,
468 #if defined(OS_CHROMEOS)
469 // Sent when a chromium os user logs in.
470 // The details are a chromeos::User object.
471 NOTIFICATION_LOGIN_USER_CHANGED
,
473 // Sent immediately after the logged-in user's profile is ready.
474 // The details are a Profile object.
475 NOTIFICATION_LOGIN_USER_PROFILE_PREPARED
,
477 // Sent when the chromium session of a particular user is started.
478 // If this is a new user on the machine this will not be sent until a profile
479 // picture has been selected, unlike NOTIFICATION_LOGIN_USER_CHANGED which is
480 // sent immediately after the user has logged in. This will be sent again if
481 // the browser crashes and restarts.
482 // The details are a chromeos::User object.
483 NOTIFICATION_SESSION_STARTED
,
485 // Sent when user image is updated.
486 NOTIFICATION_LOGIN_USER_IMAGE_CHANGED
,
488 // Sent by UserManager when a profile image download has been completed.
489 NOTIFICATION_PROFILE_IMAGE_UPDATED
,
491 // Sent by UserManager when profile image download has failed or user has the
492 // default profile image or no profile image at all. No details are expected.
493 NOTIFICATION_PROFILE_IMAGE_UPDATE_FAILED
,
495 // Sent when a network error message is displayed on the WebUI login screen.
496 // First paint event of this fires NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE.
497 NOTIFICATION_LOGIN_NETWORK_ERROR_SHOWN
,
499 // Sent when the specific part of login/lock WebUI is considered to be
500 // visible. That moment is tracked as the first paint event after one of the:
501 // NOTIFICATION_LOGIN_NETWORK_ERROR_SHOWN
503 // Possible series of notifications:
504 // 1. Boot into fresh OOBE
505 // NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE
506 // 2. Boot into user pods list (normal boot). Same for lock screen.
507 // NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE
508 // 3. Boot into GAIA sign in UI (user pods display disabled or no users):
509 // if no network is connected or flaky network
510 // (NOTIFICATION_LOGIN_NETWORK_ERROR_SHOWN +
511 // NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE)
512 // NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE
513 // 4. Boot into retail mode
514 // NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE
515 // 5. Boot into kiosk mode
516 // NOTIFICATION_KIOSK_APP_LAUNCHED
517 NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE
,
519 // Sent when proxy dialog is closed.
520 NOTIFICATION_LOGIN_PROXY_CHANGED
,
522 // Send when kiosk auto-launch warning screen is visible.
523 NOTIFICATION_KIOSK_AUTOLAUNCH_WARNING_VISIBLE
,
525 // Send when kiosk auto-launch warning screen had completed.
526 NOTIFICATION_KIOSK_AUTOLAUNCH_WARNING_COMPLETED
,
528 // Send when enable consumer kiosk warning screen is visible.
529 NOTIFICATION_KIOSK_ENABLE_WARNING_VISIBLE
,
531 // Send when consumer kiosk has been enabled.
532 NOTIFICATION_KIOSK_ENABLED
,
534 // Send when enable consumer kiosk warning screen had completed.
535 NOTIFICATION_KIOSK_ENABLE_WARNING_COMPLETED
,
537 // Sent when kiosk app list is loaded in UI.
538 NOTIFICATION_KIOSK_APPS_LOADED
,
540 // Sent when a kiosk app is launched.
541 NOTIFICATION_KIOSK_APP_LAUNCHED
,
543 // Sent when the user list has changed.
544 NOTIFICATION_USER_LIST_CHANGED
,
546 // Sent when the screen lock state has changed. The source is
547 // ScreenLocker and the details is a bool specifing that the
548 // screen is locked. When details is a false, the source object
549 // is being deleted, so the receiver shouldn't use the screen locker
551 NOTIFICATION_SCREEN_LOCK_STATE_CHANGED
,
553 // Sent by DeviceSettingsService to indicate that the ownership status
554 // changed. If you can, please use DeviceSettingsService::Observer instead.
555 // Other singleton-based services can't use that because Observer
556 // unregistration is impossible due to unpredictable deletion order.
557 NOTIFICATION_OWNERSHIP_STATUS_CHANGED
,
560 #if defined(TOOLKIT_VIEWS)
561 // Sent when a bookmark's context menu is shown. Used to notify
562 // tests that the context menu has been created and shown.
563 NOTIFICATION_BOOKMARK_CONTEXT_MENU_SHOWN
,
565 // Notification that the nested loop using during tab dragging has returned.
567 NOTIFICATION_TAB_DRAG_LOOP_DONE
,
570 // Send when a context menu is shown. Used to notify tests that the context
571 // menu has been created and shown.
572 NOTIFICATION_RENDER_VIEW_CONTEXT_MENU_SHOWN
,
574 // Sent when the Instant Controller determines whether an Instant tab supports
575 // the Instant API or not.
576 NOTIFICATION_INSTANT_TAB_SUPPORT_DETERMINED
,
578 // Sent when the Instant Controller determines whether the NTP supports the
579 // Instant API or not.
580 NOTIFICATION_INSTANT_NTP_SUPPORT_DETERMINED
,
582 // Sent when the CaptivePortalService checks if we're behind a captive portal.
583 // The Source is the Profile the CaptivePortalService belongs to, and the
584 // Details are a Details<CaptivePortalService::CheckResults>.
585 NOTIFICATION_CAPTIVE_PORTAL_CHECK_RESULT
,
587 // Sent when the applications in the NTP app launcher have been reordered.
588 // The details, if not NoDetails, is the std::string ID of the extension that
590 NOTIFICATION_APP_LAUNCHER_REORDERED
,
592 // Sent when an app is installed and an NTP has been shown. Source is the
593 // WebContents that was shown, and Details is the string ID of the extension
594 // which was installed.
595 NOTIFICATION_APP_INSTALLED_TO_NTP
,
597 // Similar to NOTIFICATION_APP_INSTALLED_TO_NTP but used to notify ash AppList
598 // about installed app. Source is the profile in which the app is installed
599 // and Details is the string ID of the extension.
600 NOTIFICATION_APP_INSTALLED_TO_APPLIST
,
603 // Sent when wallpaper show animation has finished.
604 NOTIFICATION_WALLPAPER_ANIMATION_FINISHED
,
606 // Sent when the Ash session has started. In its current incantation this is
607 // generated when the metro app has connected to the browser IPC channel.
608 // Used only on Windows.
609 NOTIFICATION_ASH_SESSION_STARTED
,
611 // Sent when the Ash session ended. Currently this means the metro app exited.
612 // Used only on Windows.
613 NOTIFICATION_ASH_SESSION_ENDED
,
616 // Protocol Handler Registry -----------------------------------------------
617 // Sent when a ProtocolHandlerRegistry is changed. The source is the profile.
618 NOTIFICATION_PROTOCOL_HANDLER_REGISTRY_CHANGED
,
620 // Sent when the cached profile info has changed.
621 NOTIFICATION_PROFILE_CACHED_INFO_CHANGED
,
623 // Sent when the cached profile has finished writing a profile picture to
625 NOTIFICATION_PROFILE_CACHE_PICTURE_SAVED
,
627 // Sent when the browser enters or exits fullscreen mode.
628 NOTIFICATION_FULLSCREEN_CHANGED
,
630 // Sent when the FullscreenController changes, confirms, or denies mouse lock.
631 // The source is the browser's FullscreenController, no details.
632 NOTIFICATION_MOUSE_LOCK_CHANGED
,
634 // Sent by the PluginPrefs when there is a change of plugin enable/disable
635 // status. The source is the profile.
636 NOTIFICATION_PLUGIN_ENABLE_STATUS_CHANGED
,
638 // Panels Notifications. The Panels are small browser windows near the bottom
640 // Sent when all nonblocking bounds animations are finished across panels.
641 // Used only in unit testing.
642 NOTIFICATION_PANEL_BOUNDS_ANIMATIONS_FINISHED
,
644 // Sent when panel gains/loses focus.
645 // The source is the Panel, no details.
646 // Used only in unit testing.
647 NOTIFICATION_PANEL_CHANGED_ACTIVE_STATUS
,
649 // Sent when panel is minimized/restored/shows title only etc.
650 // The source is the Panel, no details.
651 NOTIFICATION_PANEL_CHANGED_EXPANSION_STATE
,
653 // Sent when panel window size is known. This is for platforms where the
654 // window creation is async and size of the window only becomes known later.
655 // Used only in unit testing.
656 NOTIFICATION_PANEL_WINDOW_SIZE_KNOWN
,
658 // Sent when panel app icon is loaded.
659 // Used only in unit testing.
660 NOTIFICATION_PANEL_APP_ICON_LOADED
,
662 // Sent when panel collection get updated.
663 // The source is the PanelCollection, no details.
664 // Used only in coordination with notification balloons.
665 NOTIFICATION_PANEL_COLLECTION_UPDATED
,
667 // Sent when panel is closed.
668 // The source is the Panel, no details.
669 NOTIFICATION_PANEL_CLOSED
,
671 // Sent when a global error has changed and the error UI should update it
672 // self. The source is a Source<Profile> containing the profile for the
673 // error. The detail is a GlobalError object that has changed or NULL if
674 // all error UIs should update.
675 NOTIFICATION_GLOBAL_ERRORS_CHANGED
,
677 // BrowsingDataRemover ----------------------------------------------------
678 // Sent on the UI thread after BrowsingDataRemover has removed browsing data
679 // but before it has notified its explicit observers. The source is a
680 // Source<Profile> containing the profile in which browsing data was removed,
681 // and the detail is a BrowsingDataRemover::NotificationDetail containing the
682 // removal mask and the start of the removal timeframe with which
683 // BrowsingDataRemove::Remove was called.
684 NOTIFICATION_BROWSING_DATA_REMOVED
,
686 // The user accepted or dismissed a SSL client authentication request.
687 // The source is a Source<net::HttpNetworkSession>. Details is a
688 // (std::pair<net::SSLCertRequestInfo*, net::X509Certificate*>).
689 NOTIFICATION_SSL_CLIENT_AUTH_CERT_SELECTED
,
691 // Session Restore --------------------------------------------------------
693 // Sent when synchronous (startup) session restore completes. No details or
695 NOTIFICATION_SESSION_RESTORE_DONE
,
698 // Currently only Content and Chrome define and use notifications.
699 // Custom notifications not belonging to Content and Chrome should start
701 NOTIFICATION_CHROME_END
,
704 } // namespace chrome
706 #endif // CHROME_BROWSER_CHROME_NOTIFICATION_TYPES_H_