[Password Manager] Remove NOTIFICATION_LOGINS_CHANGED
[chromium-blink-merge.git] / chrome / browser / chrome_notification_types.h
blobc4cb47a734840b5cd19749867d9f6dae539423da
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 "content/public/browser/notification_types.h"
11 namespace chrome {
13 enum NotificationType {
14 NOTIFICATION_CHROME_START = content::NOTIFICATION_CONTENT_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
20 // expected.
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
43 // are expected.
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,
56 #endif
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,
73 #if defined(USE_AURA)
74 // The user has changed the fling curve configuration.
75 // Source<GesturePrefsObserver>. There are no details.
76 NOTIFICATION_BROWSER_FLING_CURVE_PARAMETERS_CHANGED,
77 #endif // defined(USE_AURA)
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
95 // are passed.
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
101 // are provided.
102 NOTIFICATION_NO_KEY_WINDOW,
103 #endif
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
119 // is the dialog.
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 // This message is sent when an InfoBar is replacing another infobar in an
135 // InfoBarService. The source is a Source<InfoBarService> with a pointer to
136 // the InfoBarService the InfoBar was removed from. The details is a
137 // Details<InfoBar::ReplacedDetails>.
138 NOTIFICATION_TAB_CONTENTS_INFOBAR_REPLACED,
140 // Used to fire notifications about how long various events took to
141 // complete. E.g., this is used to get more fine grained timings from the
142 // new tab page. The source is a WebContents and the details is a
143 // MetricEventDurationDetails.
144 NOTIFICATION_METRIC_EVENT_DURATION,
146 // This notification is sent when extensions::TabHelper::SetExtensionApp is
147 // invoked. The source is the extensions::TabHelper SetExtensionApp was
148 // invoked on.
149 NOTIFICATION_TAB_CONTENTS_APPLICATION_EXTENSION_CHANGED,
151 // Tabs --------------------------------------------------------------------
153 // Sent when a tab is added to a WebContentsDelegate. The source is the
154 // WebContentsDelegate and the details is the added WebContents.
155 NOTIFICATION_TAB_ADDED,
157 // This notification is sent after a tab has been appended to the tab_strip.
158 // The source is a Source<WebContents> of the tab being added. There
159 // are no details.
160 NOTIFICATION_TAB_PARENTED,
162 // This message is sent before a tab has been closed. The source is a
163 // Source<NavigationController> with a pointer to the controller for the
164 // closed tab. No details are expected.
166 // See also content::NOTIFICATION_WEB_CONTENTS_DESTROYED, which is sent when
167 // the WebContents containing the NavigationController is destroyed.
168 NOTIFICATION_TAB_CLOSING,
170 // Stuff inside the tabs ---------------------------------------------------
172 // This notification is sent when the result of a find-in-page search is
173 // available with the browser process. The source is a Source<WebContents>.
174 // Details encompass a FindNotificationDetail object that tells whether the
175 // match was found or not found.
176 NOTIFICATION_FIND_RESULT_AVAILABLE,
178 // BackgroundContents ------------------------------------------------------
180 // A new background contents was opened by script. The source is the parent
181 // profile and the details are BackgroundContentsOpenedDetails.
182 NOTIFICATION_BACKGROUND_CONTENTS_OPENED,
184 // The background contents navigated to a new location. The source is the
185 // parent Profile, and the details are the BackgroundContents that was
186 // navigated.
187 NOTIFICATION_BACKGROUND_CONTENTS_NAVIGATED,
189 // The background contents were closed by someone invoking window.close()
190 // or the parent application was uninstalled.
191 // The source is the parent profile, and the details are the
192 // BackgroundContents.
193 NOTIFICATION_BACKGROUND_CONTENTS_CLOSED,
195 // The background contents is being deleted. The source is the
196 // parent Profile, and the details are the BackgroundContents being deleted.
197 NOTIFICATION_BACKGROUND_CONTENTS_DELETED,
199 // The background contents has crashed. The source is the parent Profile,
200 // and the details are the BackgroundContents.
201 NOTIFICATION_BACKGROUND_CONTENTS_TERMINATED,
203 // The background contents associated with a hosted app has changed (either
204 // a new background contents has been created, or an existing background
205 // contents has closed). The source is the parent Profile, and the details
206 // are the BackgroundContentsService.
207 NOTIFICATION_BACKGROUND_CONTENTS_SERVICE_CHANGED,
209 // Chrome has entered/exited background mode. The source is the
210 // BackgroundModeManager and the details are a boolean value which is set to
211 // true if Chrome is now in background mode.
212 NOTIFICATION_BACKGROUND_MODE_CHANGED,
214 // This is sent when a login prompt is shown. The source is the
215 // Source<NavigationController> for the tab in which the prompt is shown.
216 // Details are a LoginNotificationDetails which provide the LoginHandler
217 // that should be given authentication.
218 NOTIFICATION_AUTH_NEEDED,
220 // This is sent when authentication credentials have been supplied (either
221 // by the user or by an automation service), but before we've actually
222 // received another response from the server. The source is the
223 // Source<NavigationController> for the tab in which the prompt was shown.
224 // Details are an AuthSuppliedLoginNotificationDetails which provide the
225 // LoginHandler that should be given authentication as well as the supplied
226 // username and password.
227 NOTIFICATION_AUTH_SUPPLIED,
229 // This is sent when an authentication request has been dismissed without
230 // supplying credentials (either by the user or by an automation service).
231 // The source is the Source<NavigationController> for the tab in which the
232 // prompt was shown. Details are a LoginNotificationDetails which provide
233 // the LoginHandler that should be cancelled.
234 NOTIFICATION_AUTH_CANCELLED,
236 // History -----------------------------------------------------------------
238 // Sent when a history service has finished loading. The source is the
239 // profile that the history service belongs to, and the details is the
240 // HistoryService.
241 NOTIFICATION_HISTORY_LOADED,
243 // Sent when a URL has been added or modified. This is used by the in-memory
244 // URL database and the InMemoryURLIndex (both used by autocomplete) to track
245 // changes to the main history system.
247 // The source is the profile owning the history service that changed, and
248 // the details is history::URLsModifiedDetails that lists the modified or
249 // added URLs.
250 NOTIFICATION_HISTORY_URLS_MODIFIED,
252 // Sent when the user visits a URL.
254 // The source is the profile owning the history service that changed, and
255 // the details is history::URLVisitedDetails.
256 NOTIFICATION_HISTORY_URL_VISITED,
258 // Sent when one or more URLs are deleted.
260 // The source is the profile owning the history service that changed, and
261 // the details is history::URLsDeletedDetails that lists the deleted URLs.
262 NOTIFICATION_HISTORY_URLS_DELETED,
264 // Sent when a keyword search term is updated. The source is the Profile and
265 // the details is history::KeywordSearchUpdatedDetails.
266 NOTIFICATION_HISTORY_KEYWORD_SEARCH_TERM_UPDATED,
268 // Sent when a keyword search term is deleted. The source is the Profile and
269 // the details is history::KeywordSearchDeletedDetails.
270 NOTIFICATION_HISTORY_KEYWORD_SEARCH_TERM_DELETED,
272 // Sent by history when the favicon of a URL changes. The source is the
273 // profile, and the details is FaviconChangedDetails (see
274 // chrome/browser/favicon/favicon_changed_details.h).
275 NOTIFICATION_FAVICON_CHANGED,
277 // Sent by FaviconTabHelper when a tab's favicon has been successfully
278 // updated. The details are a bool indicating whether the
279 // NavigationEntry's favicon URL has changed since the previous
280 // NOTIFICATION_FAVICON_UPDATED notification. The details are true if
281 // there was no previous NOTIFICATION_FAVICON_UPDATED notification for the
282 // current NavigationEntry.
283 NOTIFICATION_FAVICON_UPDATED,
285 // Profiles -----------------------------------------------------------------
287 // Sent after a Profile has been created. This notification is sent both for
288 // normal and OTR profiles.
289 // The details are none and the source is the new profile.
290 NOTIFICATION_PROFILE_CREATED,
292 // Sent after a Profile has been added to ProfileManager.
293 // The details are none and the source is the new profile.
294 NOTIFICATION_PROFILE_ADDED,
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 it has finished updating its most visited URLs
312 // cache after querying the history service. The source is the TopSites and
313 // the details a CancelableRequestProvider::Handle from the history service
314 // query.
315 // Used only in testing.
316 NOTIFICATION_TOP_SITES_UPDATED,
318 // Sent by TopSites when the either one of the most visited urls changed, or
319 // one of the images changes. The source is the TopSites, the details not
320 // used.
321 NOTIFICATION_TOP_SITES_CHANGED,
323 // Task Manager ------------------------------------------------------------
325 // Sent when a renderer process is notified of new v8 heap statistics. The
326 // source is the ID of the renderer process, and the details are a
327 // V8HeapStatsDetails object.
328 NOTIFICATION_RENDERER_V8_HEAP_STATS_COMPUTED,
330 // Sent when a renderer process is notified of a new FPS value. The source
331 // is the ID of the renderer process, and the details are an FPSDetails
332 // object.
333 NOTIFICATION_RENDERER_FPS_COMPUTED,
335 // Non-history storage services --------------------------------------------
337 // Sent when a TemplateURL is removed from the model. The source is the
338 // Profile, and the details the id of the TemplateURL being removed.
339 NOTIFICATION_TEMPLATE_URL_REMOVED,
341 // Sent when the prefs relating to the default search engine have changed due
342 // to policy. Source and details are unused.
343 NOTIFICATION_DEFAULT_SEARCH_POLICY_CHANGED,
345 // The state of a web resource has been changed. A resource may have been
346 // added, removed, or altered. Source is WebResourceService, and the
347 // details are NoDetails.
348 NOTIFICATION_PROMO_RESOURCE_STATE_CHANGED,
350 // A safe browsing database update completed. Source is the
351 // SafeBrowsingService and the details are a bool indicating whether the
352 // update was successful.
353 NOTIFICATION_SAFE_BROWSING_UPDATE_COMPLETE,
355 // Autocomplete ------------------------------------------------------------
357 // Sent by the autocomplete controller when done. The source is the
358 // AutocompleteController, the details not used.
359 NOTIFICATION_AUTOCOMPLETE_CONTROLLER_RESULT_READY,
361 // This is sent when an item of the Omnibox popup is selected. The source
362 // is the profile.
363 NOTIFICATION_OMNIBOX_OPENED_URL,
365 // This is sent from Instant when the omnibox focus state changes.
366 NOTIFICATION_OMNIBOX_FOCUS_CHANGED,
368 // Sent when the Google URL for a profile has been updated. Some services
369 // cache this value and need to update themselves when it changes. See
370 // google_util::GetGoogleURLAndUpdateIfNecessary(). The source is the
371 // Profile, the details a GoogleURLTracker::UpdatedDetails containing the old
372 // and new URLs.
374 // Note that because incognito mode requests for the GoogleURLTracker are
375 // redirected to the non-incognito profile's copy, this notification will only
376 // ever fire on non-incognito profiles; thus listeners should use
377 // GetOriginalProfile() when constructing a Source to filter against.
378 NOTIFICATION_GOOGLE_URL_UPDATED,
380 // Printing ----------------------------------------------------------------
382 // Notification from PrintJob that an event occurred. It can be that a page
383 // finished printing or that the print job failed. Details is
384 // PrintJob::EventDetails. Source is a PrintJob.
385 NOTIFICATION_PRINT_JOB_EVENT,
387 // Sent when a PrintJob has been released.
388 // Source is the WebContents that holds the print job.
389 NOTIFICATION_PRINT_JOB_RELEASED,
391 // Shutdown ----------------------------------------------------------------
393 // Sent when WM_ENDSESSION has been received, after the browsers have been
394 // closed but before browser process has been shutdown. The source/details
395 // are all source and no details.
396 NOTIFICATION_SESSION_END,
398 // User Scripts ------------------------------------------------------------
400 // Sent when there are new user scripts available. The details are a
401 // pointer to SharedMemory containing the new scripts.
402 NOTIFICATION_USER_SCRIPTS_UPDATED,
404 // Extensions --------------------------------------------------------------
406 // Sent when a CrxInstaller finishes. Source is the CrxInstaller that
407 // finished. The details are the extension which was installed.
408 NOTIFICATION_CRX_INSTALLER_DONE,
410 // Sent when the known installed extensions have all been loaded. In
411 // testing scenarios this can happen multiple times if extensions are
412 // unloaded and reloaded. The source is a Profile.
413 NOTIFICATION_EXTENSIONS_READY,
415 // Sent when an extension icon being displayed in the location bar is updated.
416 // The source is the Profile and the details are the WebContents for
417 // the tab.
418 NOTIFICATION_EXTENSION_LOCATION_BAR_UPDATED,
420 // Sent when a new extension is loaded. The details are an Extension, and
421 // the source is a Profile.
422 NOTIFICATION_EXTENSION_LOADED,
424 // An error occured while attempting to load an extension. The details are a
425 // string with details about why the load failed.
426 NOTIFICATION_EXTENSION_LOAD_ERROR,
428 // Sent when an extension is enabled. Under most circumstances, listeners
429 // will want to use NOTIFICATION_EXTENSION_LOADED. This notification is only
430 // fired when the "Enable" button is hit in the extensions tab. The details
431 // are an Extension, and the source is a Profile.
432 NOTIFICATION_EXTENSION_ENABLED,
434 // Sent when attempting to load a new extension, but they are disabled. The
435 // details are an Extension*, and the source is a Profile*.
436 NOTIFICATION_EXTENSION_UPDATE_DISABLED,
438 // Sent when an extension's permissions change. The details are an
439 // UpdatedExtensionPermissionsInfo, and the source is a Profile.
440 NOTIFICATION_EXTENSION_PERMISSIONS_UPDATED,
442 // Sent when new extensions are installed, or existing extensions are updated.
443 // The details are an InstalledExtensionInfo, and the source is a Profile.
444 NOTIFICATION_EXTENSION_INSTALLED,
446 // An error occured during extension install. The details are a string with
447 // details about why the install failed.
448 NOTIFICATION_EXTENSION_INSTALL_ERROR,
450 // Sent when an extension has been uninstalled. The details are an Extension,
451 // and the source is a Profile.
452 NOTIFICATION_EXTENSION_UNINSTALLED,
454 // Sent when an extension uninstall is not allowed because the extension is
455 // not user manageable. The details are an Extension, and the source is a
456 // Profile.
457 NOTIFICATION_EXTENSION_UNINSTALL_NOT_ALLOWED,
459 // Sent when an extension is unloaded. This happens when an extension is
460 // uninstalled or disabled. The details are an UnloadedExtensionInfo, and
461 // the source is a Profile.
463 // Note that when this notification is sent, ExtensionService has already
464 // removed the extension from its internal state.
465 NOTIFICATION_EXTENSION_UNLOADED,
467 // Sent when an Extension object is removed from ExtensionService. This
468 // can happen when an extension is uninstalled, upgraded, or blacklisted,
469 // including all cases when the Extension is deleted. The details are an
470 // Extension, and the source is a Profile.
471 NOTIFICATION_EXTENSION_REMOVED,
473 // Sent after a new ExtensionHost is created. The details are
474 // an ExtensionHost* and the source is a Profile*.
475 NOTIFICATION_EXTENSION_HOST_CREATED,
477 // Sent before an ExtensionHost is destroyed. The details are
478 // an ExtensionHost* and the source is a Profile*.
479 NOTIFICATION_EXTENSION_HOST_DESTROYED,
481 // Sent by an ExtensionHost when it has finished its initial page load,
482 // including any external resources.
483 // The details are an ExtensionHost* and the source is a Profile*.
484 NOTIFICATION_EXTENSION_HOST_DID_STOP_LOADING,
486 // Sent by an ExtensionHost when its render view requests closing through
487 // window.close(). The details are an ExtensionHost* and the source is a
488 // Profile*.
489 NOTIFICATION_EXTENSION_HOST_VIEW_SHOULD_CLOSE,
491 // Sent when extension render process ends (whether it crashes or closes).
492 // The details are an ExtensionHost* and the source is a Profile*. Not sent
493 // during browser shutdown.
494 NOTIFICATION_EXTENSION_PROCESS_TERMINATED,
496 // Sent when a background page is ready so other components can load.
497 NOTIFICATION_EXTENSION_BACKGROUND_PAGE_READY,
499 // Sent when a browser action's state has changed. The source is the
500 // ExtensionAction* that changed. The details are the Profile* that the
501 // browser action belongs to.
502 NOTIFICATION_EXTENSION_BROWSER_ACTION_UPDATED,
504 // Sent when the count of page actions has changed. Note that some of them
505 // may not apply to the current page. The source is a LocationBar*. There
506 // are no details.
507 NOTIFICATION_EXTENSION_PAGE_ACTION_COUNT_CHANGED,
509 // Sent when a browser action's visibility has changed. The source is the
510 // ExtensionPrefs* that changed, and the details are a std::string with the
511 // extension's ID.
512 NOTIFICATION_EXTENSION_BROWSER_ACTION_VISIBILITY_CHANGED,
514 // Sent when a page action's visibility has changed. The source is the
515 // ExtensionAction* that changed. The details are a WebContents*.
516 NOTIFICATION_EXTENSION_PAGE_ACTION_VISIBILITY_CHANGED,
518 // Sent when a system indicator action's state has changed. The source is the
519 // Profile* that the browser action belongs to. The details are the
520 // ExtensionAction* that changed.
521 NOTIFICATION_EXTENSION_SYSTEM_INDICATOR_UPDATED,
523 // Sent when an extension command has been removed. The source is the profile
524 // and the details is a std::pair of two std::string objects (an extension ID
525 // and the name of the command being removed).
526 NOTIFICATION_EXTENSION_COMMAND_REMOVED,
528 // Sent when an extension command has been added. The source is the profile
529 // and the details is a std::pair of two std::string objects (an extension ID
530 // and the name of the command being added).
531 NOTIFICATION_EXTENSION_COMMAND_ADDED,
533 // Sent when an extension command shortcut for a browser action is activated
534 // on Mac. The source is the profile and the details is a std::pair of a
535 // std::string containing an extension ID and a gfx::NativeWindow for the
536 // associated window.
537 NOTIFICATION_EXTENSION_COMMAND_BROWSER_ACTION_MAC,
539 // Sent when an extension command shortcut for a page action is activated
540 // on Mac. The source is the profile and the details is a std::pair of a
541 // std::string containing an extension ID and a gfx::NativeWindow for the
542 // associated window.
543 NOTIFICATION_EXTENSION_COMMAND_PAGE_ACTION_MAC,
545 // A new extension RenderViewHost has been registered. The details are
546 // the RenderViewHost*.
547 NOTIFICATION_EXTENSION_VIEW_REGISTERED,
549 // An extension RenderViewHost has been unregistered. The details are
550 // the RenderViewHost*.
551 NOTIFICATION_EXTENSION_VIEW_UNREGISTERED,
553 // Sent by an extension to notify the browser about the results of a unit
554 // test.
555 NOTIFICATION_EXTENSION_TEST_PASSED,
556 NOTIFICATION_EXTENSION_TEST_FAILED,
558 // Sent by extension test javascript code, typically in a browser test. The
559 // sender is a std::string representing the extension id, and the details
560 // are a std::string with some message. This is particularly useful when you
561 // want to have C++ code wait for javascript code to do something.
562 NOTIFICATION_EXTENSION_TEST_MESSAGE,
564 // Sent when an bookmarks extensions API function was successfully invoked.
565 // The source is the id of the extension that invoked the function, and the
566 // details are a pointer to the const BookmarksFunction in question.
567 NOTIFICATION_EXTENSION_BOOKMARKS_API_INVOKED,
569 // Sent when a downloads extensions API event is fired. The source is an
570 // ExtensionDownloadsEventRouter::NotificationSource, and the details is a
571 // std::string containing json. Used for testing.
572 NOTIFICATION_EXTENSION_DOWNLOADS_EVENT,
574 // Sent when an omnibox extension has sent back omnibox suggestions. The
575 // source is the profile, and the details are an
576 // extensions::api::omnibox::SendSuggestions::Params object.
577 NOTIFICATION_EXTENSION_OMNIBOX_SUGGESTIONS_READY,
579 // Sent when the user accepts the input in an extension omnibox keyword
580 // session. The source is the profile.
581 NOTIFICATION_EXTENSION_OMNIBOX_INPUT_ENTERED,
583 // Sent when an omnibox extension has updated the default suggestion. The
584 // source is the profile.
585 NOTIFICATION_EXTENSION_OMNIBOX_DEFAULT_SUGGESTION_CHANGED,
587 // Sent when the extension updater starts checking for updates to installed
588 // extensions. The source is a Profile, and there are no details.
589 NOTIFICATION_EXTENSION_UPDATING_STARTED,
591 // The extension updater found an update and will attempt to download and
592 // install it. The source is a Profile, and the details are an
593 // extensions::UpdateDetails object with the extension id and version of the
594 // found update.
595 NOTIFICATION_EXTENSION_UPDATE_FOUND,
597 // Desktop Notifications ---------------------------------------------------
599 // This notification is sent when a balloon is connected to a renderer
600 // process to render the balloon contents. The source is a
601 // Source<BalloonHost> with a pointer to the the balloon. A
602 // NOTIFY_BALLOON_DISCONNECTED is guaranteed before the source pointer
603 // becomes junk. No details expected.
604 NOTIFICATION_NOTIFY_BALLOON_CONNECTED,
606 // This message is sent after a balloon is disconnected from the renderer
607 // process. The source is a Source<BalloonHost> with a pointer to the
608 // balloon host (the pointer is usable). No details are expected.
609 NOTIFICATION_NOTIFY_BALLOON_DISCONNECTED,
611 // Upgrade notifications ---------------------------------------------------
613 // Sent when Chrome believes an update has been installed and available for
614 // long enough with the user shutting down to let it take effect. See
615 // upgrade_detector.cc for details on how long it waits. No details are
616 // expected.
617 NOTIFICATION_UPGRADE_RECOMMENDED,
619 // Sent when a critical update has been installed. No details are expected.
620 NOTIFICATION_CRITICAL_UPGRADE_INSTALLED,
622 // Sent when the current install is outdated. No details are expected.
623 NOTIFICATION_OUTDATED_INSTALL,
625 // Software incompatibility notifications ----------------------------------
627 // Sent when Chrome has finished compiling the list of loaded modules (and
628 // other modules of interest). No details are expected.
629 NOTIFICATION_MODULE_LIST_ENUMERATED,
631 // Sent when Chrome is done scanning the module list and when the user has
632 // acknowledged the module incompatibility. No details are expected.
633 NOTIFICATION_MODULE_INCOMPATIBILITY_BADGE_CHANGE,
635 // Content Settings --------------------------------------------------------
637 // Sent when content settings change. The source is a HostContentSettings
638 // object, the details are ContentSettingsNotificationsDetails.
639 NOTIFICATION_CONTENT_SETTINGS_CHANGED,
641 // Sent when the collect cookies dialog is shown. The source is a
642 // TabSpecificContentSettings object, there are no details.
643 NOTIFICATION_COLLECTED_COOKIES_SHOWN,
645 // Sent when a non-default setting in the the notification content settings
646 // map has changed. The source is the DesktopNotificationService, the
647 // details are None.
648 NOTIFICATION_DESKTOP_NOTIFICATION_SETTINGS_CHANGED,
650 // Sent when content settings change for a tab. The source is a
651 // content::WebContents object, the details are None.
652 NOTIFICATION_WEB_CONTENT_SETTINGS_CHANGED,
654 // Sync --------------------------------------------------------------------
656 // The sync service has finished the datatype configuration process. The
657 // source is the ProfileSyncService object of the Profile. There are no
658 // details.
659 NOTIFICATION_SYNC_CONFIGURE_DONE,
661 // A service is requesting a sync datatype refresh for the current profile.
662 // The details value is a const syncer::ModelTypeSet.
663 // If the payload map is empty, it should be treated as an invalidation for
664 // all enabled types. This is used by session sync.
665 NOTIFICATION_SYNC_REFRESH_LOCAL,
667 // External notification requesting a sync datatype refresh for the current
668 // profile. The details value is a const syncer::ObjectIdInvalidationMap.
669 // If the payload map is empty, it should be treated as an invalidation for
670 // all enabled types. This is used for notifications on Android.
671 NOTIFICATION_SYNC_REFRESH_REMOTE,
673 // The session service has been saved. This notification type is only sent
674 // if there were new SessionService commands to save, and not for no-op save
675 // operations.
676 NOTIFICATION_SESSION_SERVICE_SAVED,
678 // A foreign session has been updated. If a new tab page is open, the
679 // foreign session handler needs to update the new tab page's foreign
680 // session data.
681 NOTIFICATION_FOREIGN_SESSION_UPDATED,
683 // Foreign sessions has been disabled. New tabs should not display foreign
684 // session data.
685 NOTIFICATION_FOREIGN_SESSION_DISABLED,
687 // All tab metadata has been loaded from disk asynchronously.
688 // Sent on the UI thread.
689 // The source is the Profile. There are no details.
690 NOTIFICATION_SESSION_RESTORE_COMPLETE,
692 // Cookies -----------------------------------------------------------------
694 // Sent when a cookie changes. The source is a Profile object, the details
695 // are a ChromeCookieDetails object.
696 NOTIFICATION_COOKIE_CHANGED,
698 // Signin Manager ----------------------------------------------------------
699 // TODO(blundell): Eliminate SigninManager notifications once
700 // crbug.com/333997 is fixed.
702 // Sent when a user signs into Google services such as sync.
703 // The source is the Profile. The details are a
704 // GoogleServiceSigninSuccessDetails object.
705 NOTIFICATION_GOOGLE_SIGNIN_SUCCESSFUL,
707 // Sent when a user fails to sign into Google services such as sync.
708 // The source is the Profile. The details are a GoogleServiceAuthError
709 // object.
710 NOTIFICATION_GOOGLE_SIGNIN_FAILED,
712 // Sent when the currently signed-in user for a user has been signed out.
713 // The source is the Profile. The details are a
714 // GoogleServiceSignoutDetails object.
715 NOTIFICATION_GOOGLE_SIGNED_OUT,
717 // Download Notifications --------------------------------------------------
719 // Sent when a download is initiated. It is possible that the download will
720 // not actually begin due to the DownloadRequestLimiter cancelling it
721 // prematurely.
722 // The source is the corresponding RenderViewHost. There are no details.
723 NOTIFICATION_DOWNLOAD_INITIATED,
725 // Misc --------------------------------------------------------------------
727 // Sent when PerformanceMonitor has finished all the initial steps of data
728 // collection and has begun passively observing. The source is the
729 // PerformanceMonitor*. No details are expected.
730 NOTIFICATION_PERFORMANCE_MONITOR_INITIALIZED,
732 #if defined(OS_CHROMEOS)
733 // Sent when a chromium os user logs in.
734 // The details are a chromeos::User object.
735 NOTIFICATION_LOGIN_USER_CHANGED,
737 // Sent immediately after the logged-in user's profile is ready.
738 // The details are a Profile object.
739 NOTIFICATION_LOGIN_USER_PROFILE_PREPARED,
741 // Sent when the chromium session of a particular user is started.
742 // If this is a new user on the machine this will not be sent until a profile
743 // picture has been selected, unlike NOTIFICATION_LOGIN_USER_CHANGED which is
744 // sent immediately after the user has logged in. This will be sent again if
745 // the browser crashes and restarts.
746 // The details are a chromeos::User object.
747 NOTIFICATION_SESSION_STARTED,
749 // Sent when user image is updated.
750 NOTIFICATION_LOGIN_USER_IMAGE_CHANGED,
752 // Sent by UserManager when a profile image download has been completed.
753 NOTIFICATION_PROFILE_IMAGE_UPDATED,
755 // Sent by UserManager when profile image download has failed or user has the
756 // default profile image or no profile image at all. No details are expected.
757 NOTIFICATION_PROFILE_IMAGE_UPDATE_FAILED,
759 // Sent when a chromium os user attempts to log in. The source is
760 // all and the details are AuthenticationNotificationDetails.
761 NOTIFICATION_LOGIN_AUTHENTICATION,
763 // Sent when GAIA iframe has been loaded. First paint event after this fires
764 // NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE.
765 // Possible scenarios:
766 // 1. Boot into device that has user pods display disabled or no users.
767 // Note that booting with network not connected would first generate
768 // NOTIFICATION_LOGIN_NETWORK_ERROR_SHOWN.
769 // 2. From the user pods list, open "Add User" for the second time
770 // (see below).
771 // TODO(nkostylev): Send this notification any time "Add User" is activated
772 // even if it has been silently preloaded on boot.
773 // Not sent on "silent preload" i.e. when booting into login screen
774 // with user pods, GAIA frame is silently preloaded in the background.
775 // Activating it ("Add User") for the first time would not generate this
776 // notification.
777 NOTIFICATION_LOGIN_WEBUI_LOADED,
779 // Sent when a network error message is displayed on the WebUI login screen.
780 // First paint event of this fires NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE.
781 NOTIFICATION_LOGIN_NETWORK_ERROR_SHOWN,
783 // Sent when the specific part of login/lock WebUI is considered to be
784 // visible. That moment is tracked as the first paint event after one of the:
785 // 1. NOTIFICATION_LOGIN_WEBUI_LOADED
786 // 2. NOTIFICATION_LOGIN_NETWORK_ERROR_SHOWN
788 // Possible series of notifications:
789 // 1. Boot into fresh OOBE
790 // NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE
791 // 2. Boot into user pods list (normal boot). Same for lock screen.
792 // NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE
793 // 3. Boot into GAIA sign in UI (user pods display disabled or no users):
794 // if no network is connected or flaky network
795 // (NOTIFICATION_LOGIN_NETWORK_ERROR_SHOWN +
796 // NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE)
797 // NOTIFICATION_LOGIN_WEBUI_LOADED
798 // NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE
799 // 4. Boot into retail mode
800 // NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE
801 // 5. Boot into kiosk mode
802 // NOTIFICATION_KIOSK_APP_LAUNCHED
803 NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE,
805 // Sent when proxy dialog is closed.
806 NOTIFICATION_LOGIN_PROXY_CHANGED,
808 // Send when kiosk auto-launch warning screen is visible.
809 NOTIFICATION_KIOSK_AUTOLAUNCH_WARNING_VISIBLE,
811 // Send when kiosk auto-launch warning screen had completed.
812 NOTIFICATION_KIOSK_AUTOLAUNCH_WARNING_COMPLETED,
814 // Send when enable consumer kiosk warning screen is visible.
815 NOTIFICATION_KIOSK_ENABLE_WARNING_VISIBLE,
817 // Send when consumer kiosk has been enabled.
818 NOTIFICATION_KIOSK_ENABLED,
820 // Send when enable consumer kiosk warning screen had completed.
821 NOTIFICATION_KIOSK_ENABLE_WARNING_COMPLETED,
823 // Sent when kiosk app list is loaded in UI.
824 NOTIFICATION_KIOSK_APPS_LOADED,
826 // Sent when a kiosk app is launched.
827 NOTIFICATION_KIOSK_APP_LAUNCHED,
829 // Sent when the user list has changed.
830 NOTIFICATION_USER_LIST_CHANGED,
832 // Sent when the screen lock state has changed. The source is
833 // ScreenLocker and the details is a bool specifing that the
834 // screen is locked. When details is a false, the source object
835 // is being deleted, so the receiver shouldn't use the screen locker
836 // object.
837 NOTIFICATION_SCREEN_LOCK_STATE_CHANGED,
839 // Sent by DeviceSettingsService to indicate that the ownership status
840 // changed. If you can, please use DeviceSettingsService::Observer instead.
841 // Other singleton-based services can't use that because Observer
842 // unregistration is impossible due to unpredictable deletion order.
843 NOTIFICATION_OWNERSHIP_STATUS_CHANGED,
845 // Sent by SIM unlock dialog when it has finished with the process of
846 // updating RequirePin setting. RequirePin setting might have been changed
847 // to a new value or update might have been canceled.
848 // In either case notification is sent and details contain a bool
849 // that represents current value.
850 NOTIFICATION_REQUIRE_PIN_SETTING_CHANGE_ENDED,
852 // Sent by SIM unlock dialog when it has finished the EnterPin or
853 // EnterPuk dialog, either because the user cancelled, or entered a
854 // PIN or PUK.
855 NOTIFICATION_ENTER_PIN_ENDED,
857 // Sent when large cursor is toggled.
858 NOTIFICATION_CROS_ACCESSIBILITY_TOGGLE_LARGE_CURSOR,
860 // Sent when high contrast mode is toggled.
861 NOTIFICATION_CROS_ACCESSIBILITY_TOGGLE_HIGH_CONTRAST_MODE,
863 // Sent when screen magnifier is toggled.
864 NOTIFICATION_CROS_ACCESSIBILITY_TOGGLE_SCREEN_MAGNIFIER,
866 // Sent when spoken feedback is toggled.
867 NOTIFICATION_CROS_ACCESSIBILITY_TOGGLE_SPOKEN_FEEDBACK,
869 // Sent when a11y on-screen keyboard is toggled.
870 NOTIFICATION_CROS_ACCESSIBILITY_TOGGLE_VIRTUAL_KEYBOARD,
872 #endif
874 #if defined(TOOLKIT_VIEWS)
875 // Sent when a bookmark's context menu is shown. Used to notify
876 // tests that the context menu has been created and shown.
877 NOTIFICATION_BOOKMARK_CONTEXT_MENU_SHOWN,
879 // Notification that the nested loop using during tab dragging has returned.
880 // Used for testing.
881 NOTIFICATION_TAB_DRAG_LOOP_DONE,
882 #endif
884 // Send when a context menu is shown. Used to notify tests that the context
885 // menu has been created and shown.
886 NOTIFICATION_RENDER_VIEW_CONTEXT_MENU_SHOWN,
888 // Sent when the Instant Controller determines whether an Instant tab supports
889 // the Instant API or not.
890 NOTIFICATION_INSTANT_TAB_SUPPORT_DETERMINED,
892 // Sent when the Instant Controller determines whether the NTP supports the
893 // Instant API or not.
894 NOTIFICATION_INSTANT_NTP_SUPPORT_DETERMINED,
896 // Sent when the CaptivePortalService checks if we're behind a captive portal.
897 // The Source is the Profile the CaptivePortalService belongs to, and the
898 // Details are a Details<CaptivePortalService::CheckResults>.
899 NOTIFICATION_CAPTIVE_PORTAL_CHECK_RESULT,
901 // Sent when the applications in the NTP app launcher have been reordered.
902 // The details, if not NoDetails, is the std::string ID of the extension that
903 // was moved.
904 NOTIFICATION_EXTENSION_LAUNCHER_REORDERED,
906 // Sent when an app is installed and an NTP has been shown. Source is the
907 // WebContents that was shown, and Details is the string ID of the extension
908 // which was installed.
909 NOTIFICATION_APP_INSTALLED_TO_NTP,
911 // Similar to NOTIFICATION_APP_INSTALLED_TO_NTP but used to nofity ash AppList
912 // about installed app. Source is the profile in which the app is installed
913 // and Details is the string ID of the extension.
914 NOTIFICATION_APP_INSTALLED_TO_APPLIST,
916 #if defined(USE_ASH)
917 // Sent when wallpaper show animation has finished.
918 NOTIFICATION_WALLPAPER_ANIMATION_FINISHED,
920 // Sent when the Ash session has started. In its current incantation this is
921 // generated when the metro app has connected to the browser IPC channel.
922 // Used only on Windows.
923 NOTIFICATION_ASH_SESSION_STARTED,
924 // Sent when the Ash session ended. Currently this means the metro app exited.
925 // Used only on Windows.
926 NOTIFICATION_ASH_SESSION_ENDED,
927 #endif
929 // Protocol Handler Registry -----------------------------------------------
930 // Sent when a ProtocolHandlerRegistry is changed. The source is the profile.
931 NOTIFICATION_PROTOCOL_HANDLER_REGISTRY_CHANGED,
933 // Sent when the cached profile info has changed.
934 NOTIFICATION_PROFILE_CACHED_INFO_CHANGED,
936 // Sent when the cached profile has finished writing a profile picture to
937 // disk.
938 NOTIFICATION_PROFILE_CACHE_PICTURE_SAVED,
940 // Sent when the browser enters or exits fullscreen mode.
941 NOTIFICATION_FULLSCREEN_CHANGED,
943 // Sent when the FullscreenController changes, confirms, or denies mouse lock.
944 // The source is the browser's FullscreenController, no details.
945 NOTIFICATION_MOUSE_LOCK_CHANGED,
947 // Sent by the PluginPrefs when there is a change of plugin enable/disable
948 // status. The source is the profile.
949 NOTIFICATION_PLUGIN_ENABLE_STATUS_CHANGED,
951 // Panels Notifications. The Panels are small browser windows near the bottom
952 // of the screen.
953 // Sent when all nonblocking bounds animations are finished across panels.
954 // Used only in unit testing.
955 NOTIFICATION_PANEL_BOUNDS_ANIMATIONS_FINISHED,
957 // Sent when panel gains/loses focus.
958 // The source is the Panel, no details.
959 // Used only in unit testing.
960 NOTIFICATION_PANEL_CHANGED_ACTIVE_STATUS,
962 // Sent when panel is minimized/restored/shows title only etc.
963 // The source is the Panel, no details.
964 NOTIFICATION_PANEL_CHANGED_EXPANSION_STATE,
966 // Sent when panel window size is known. This is for platforms where the
967 // window creation is async and size of the window only becomes known later.
968 // Used only in unit testing.
969 NOTIFICATION_PANEL_WINDOW_SIZE_KNOWN,
971 // Sent when panel app icon is loaded.
972 // Used only in unit testing.
973 NOTIFICATION_PANEL_APP_ICON_LOADED,
975 // Sent when panel collection get updated.
976 // The source is the PanelCollection, no details.
977 // Used only in coordination with notification balloons.
978 NOTIFICATION_PANEL_COLLECTION_UPDATED,
980 // Sent when panel is closed.
981 // The source is the Panel, no details.
982 NOTIFICATION_PANEL_CLOSED,
984 // Sent when a global error has changed and the error UI should update it
985 // self. The source is a Source<Profile> containing the profile for the
986 // error. The detail is a GlobalError object that has changed or NULL if
987 // all error UIs should update.
988 NOTIFICATION_GLOBAL_ERRORS_CHANGED,
990 // BrowsingDataRemover ----------------------------------------------------
991 // Sent on the UI thread after BrowsingDataRemover has removed browsing data
992 // but before it has notified its explicit observers. The source is a
993 // Source<Profile> containing the profile in which browsing data was removed,
994 // and the detail is a BrowsingDataRemover::NotificationDetail containing the
995 // removal mask and the start of the removal timeframe with which
996 // BrowsingDataRemove::Remove was called.
997 NOTIFICATION_BROWSING_DATA_REMOVED,
999 // The user accepted or dismissed a SSL client authentication request.
1000 // The source is a Source<net::HttpNetworkSession>. Details is a
1001 // (std::pair<net::SSLCertRequestInfo*, net::X509Certificate*>).
1002 NOTIFICATION_SSL_CLIENT_AUTH_CERT_SELECTED,
1004 // Session Restore --------------------------------------------------------
1006 // Sent when synchronous (startup) session restore completes. No details or
1007 // source.
1008 NOTIFICATION_SESSION_RESTORE_DONE,
1010 // Note:-
1011 // Currently only Content and Chrome define and use notifications.
1012 // Custom notifications not belonging to Content and Chrome should start
1013 // from here.
1014 NOTIFICATION_CHROME_END,
1017 } // namespace chrome
1019 #endif // CHROME_BROWSER_CHROME_NOTIFICATION_TYPES_H_