blob: a4b5adc4c92b2a7076648ddcba055eb09aec3630 [file] [log] [blame]
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001// Copyright 2012 The Chromium Authors. All rights reserved.
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01005#ifndef CHROME_BROWSER_CHROME_NOTIFICATION_TYPES_H_
6#define CHROME_BROWSER_CHROME_NOTIFICATION_TYPES_H_
Torne (Richard Coles)58218062012-11-14 11:43:16 +00007
8#include "build/build_config.h"
9#include "content/public/browser/notification_types.h"
10
11namespace chrome {
12
13enum NotificationType {
14 NOTIFICATION_CHROME_START = content::NOTIFICATION_CONTENT_END,
15
16 // Browser-window ----------------------------------------------------------
17
18 // This message is sent after a window has been opened. The source is a
19 // Source<Browser> containing the affected Browser. No details are
20 // expected.
21 NOTIFICATION_BROWSER_OPENED = NOTIFICATION_CHROME_START,
22
23 // This message is sent soon after BROWSER_OPENED, and indicates that
24 // the Browser's |window_| is now non-NULL. The source is a Source<Browser>
25 // containing the affected Browser. No details are expected.
26 NOTIFICATION_BROWSER_WINDOW_READY,
27
28 // This message is sent when a browser is closing. The source is a
29 // Source<Browser> containing the affected Browser. No details are expected.
30 // This is sent prior to BROWSER_CLOSED, and may be sent more than once for a
31 // particular browser.
32 NOTIFICATION_BROWSER_CLOSING,
33
34 // This message is sent after a window has been closed. The source is a
35 // Source<Browser> containing the affected Browser. No details are exptected.
36 NOTIFICATION_BROWSER_CLOSED,
37
38 // This message is sent when closing a browser has been cancelled, either by
39 // the user cancelling a beforeunload dialog, or IsClosingPermitted()
40 // disallowing closing. This notification implies that no BROWSER_CLOSING or
41 // BROWSER_CLOSED notification will be sent.
42 // The source is a Source<Browser> containing the affected browser. No details
43 // are expected.
44 NOTIFICATION_BROWSER_CLOSE_CANCELLED,
45
46 // Indicates that a top window has been closed. The source is the HWND
47 // that was closed, no details are expected.
48 NOTIFICATION_WINDOW_CLOSED,
49
50#if defined(OS_LINUX)
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 // defined(OS_LINUX)
57
58 // Sent when the language (English, French...) for a page has been detected.
59 // The details Details<std::string> contain the ISO 639-1 language code and
60 // the source is Source<WebContents>.
61 NOTIFICATION_TAB_LANGUAGE_DETERMINED,
62
63 // Sent when a page has been translated. The source is the tab for that page
64 // (Source<WebContents>) and the details are the language the page was
65 // originally in and the language it was translated to
66 // (std::pair<std::string, std::string>).
67 NOTIFICATION_PAGE_TRANSLATED,
68
Torne (Richard Coles)58218062012-11-14 11:43:16 +000069 // The user has changed the browser theme. The source is a
70 // Source<ThemeService>. There are no details.
71 NOTIFICATION_BROWSER_THEME_CHANGED,
72
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +000073#if defined(USE_AURA)
74 // The user has changed the fling curve configuration.
75 // Source<GesturePrefsObserver>. There are no details.
76 NOTIFICATION_BROWSER_FLING_CURVE_PARAMETERS_CHANGED,
77#endif // defined(USE_AURA)
78
Torne (Richard Coles)58218062012-11-14 11:43:16 +000079 // Sent when the renderer returns focus to the browser, as part of focus
80 // traversal. The source is the browser, there are no details.
81 NOTIFICATION_FOCUS_RETURNED_TO_BROWSER,
82
83 // A new tab is created from an existing tab to serve as a target of a
84 // navigation that is about to happen. The source will be a Source<Profile>
85 // corresponding to the profile in which the new tab will live. Details in
86 // the form of a RetargetingDetails object are provided.
87 NOTIFICATION_RETARGETING,
88
89 // Application-wide ----------------------------------------------------------
90
91 // This message is sent when the application is terminating (the last
92 // browser window has shutdown as part of an explicit user-initiated exit,
93 // or the user closed the last browser window on Windows/Linux and there are
94 // no BackgroundContents keeping the browser running). No source or details
95 // are passed.
96 NOTIFICATION_APP_TERMINATING,
97
98#if defined(OS_MACOSX)
99 // This notification is sent when the app has no key window, such as when
100 // all windows are closed but the app is still active. No source or details
101 // are provided.
102 NOTIFICATION_NO_KEY_WINDOW,
103#endif
104
105 // This is sent when the user has chosen to exit the app, but before any
106 // browsers have closed. This is sent if the user chooses to exit (via exit
107 // menu item or keyboard shortcut) or to restart the process (such as in flags
108 // page), not if Chrome exits by some other means (such as the user closing
109 // the last window). No source or details are passed.
110 //
111 // Note that receiving this notification does not necessarily mean the process
112 // will exit because the shutdown process can be cancelled by an unload
113 // handler. Use APP_TERMINATING for such needs.
114 NOTIFICATION_CLOSE_ALL_BROWSERS_REQUEST,
115
116 // Application-modal dialogs -----------------------------------------------
117
118 // Sent after an application-modal dialog has been shown. The source
119 // is the dialog.
120 NOTIFICATION_APP_MODAL_DIALOG_SHOWN,
121
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000122 // 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<InfoBarDelegate> with a pointer to the delegate that was added.
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000126 NOTIFICATION_TAB_CONTENTS_INFOBAR_ADDED,
127
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000128 // 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<std::pair<InfoBarDelegate*, bool> > with a pointer to the removed
132 // delegate and whether the removal should be animated.
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000133 NOTIFICATION_TAB_CONTENTS_INFOBAR_REMOVED,
134
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000135 // This message is sent when an InfoBar is replacing another infobar in an
136 // InfoBarService. The source is a Source<InfoBarService> with a pointer to
137 // the InfoBarService the InfoBar was removed from. The details is a
138 // Details<std::pair<InfoBarDelegate*, InfoBarDelegate*> > with pointers to
139 // the old and new delegates, respectively.
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000140 NOTIFICATION_TAB_CONTENTS_INFOBAR_REPLACED,
141
142 // This is sent when an externally hosted tab is closed. No details are
143 // expected.
144 NOTIFICATION_EXTERNAL_TAB_CLOSED,
145
146 // Indicates that the new page tab has finished loading. This is used for
147 // performance testing to see how fast we can load it after startup, and is
148 // only called once for the lifetime of the browser. The source is unused.
149 // Details is an integer: the number of milliseconds elapsed between
150 // starting and finishing all painting.
151 NOTIFICATION_INITIAL_NEW_TAB_UI_LOAD,
152
153#if defined(OS_ANDROID)
154 // Indicates that the new tab page is ready. This is different than
155 // NOTIFICATION_INITIAL_NEW_TAB_UI_LOAD as the NTP might do some more in-page
156 // navigations after it's done loading, potentially causing flakyness in tests
157 // that would navigate as soon as the NTP is done loading.
158 // When this notification happen, it guarantees the page is not going to do
159 // any further navigation.
160 // The source is the WebContents containing the NTP.
161 NOTIFICATION_NEW_TAB_READY,
162#endif
163
164 // Used to fire notifications about how long various events took to
165 // complete. E.g., this is used to get more fine grained timings from the
166 // new tab page. The source is a WebContents and the details is a
167 // MetricEventDurationDetails.
168 NOTIFICATION_METRIC_EVENT_DURATION,
169
170 // This notification is sent when extensions::TabHelper::SetExtensionApp is
171 // invoked. The source is the extensions::TabHelper SetExtensionApp was
172 // invoked on.
173 NOTIFICATION_TAB_CONTENTS_APPLICATION_EXTENSION_CHANGED,
174
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000175 // Notification posted when the element that is focused has been touched. A
176 // bool parameter is passed in this notification which indicates if this node
177 // accepts. The source is the RenderViewHost.
178 NOTIFICATION_FOCUSED_NODE_TOUCHED,
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000179
180 // Tabs --------------------------------------------------------------------
181
182 // Sent when a tab is added to a WebContentsDelegate. The source is the
183 // WebContentsDelegate and the details is the added WebContents.
184 NOTIFICATION_TAB_ADDED,
185
186 // This notification is sent after a tab has been appended to the tab_strip.
187 // The source is a Source<WebContents> of the tab being added. There
188 // are no details.
189 NOTIFICATION_TAB_PARENTED,
190
191 // This message is sent before a tab has been closed. The source is a
192 // Source<NavigationController> with a pointer to the controller for the
193 // closed tab. No details are expected.
194 //
195 // See also content::NOTIFICATION_WEB_CONTENTS_DESTROYED, which is sent when
196 // the WebContents containing the NavigationController is destroyed.
197 NOTIFICATION_TAB_CLOSING,
198
199 // Stuff inside the tabs ---------------------------------------------------
200
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000201 // This notification is sent when the result of a find-in-page search is
202 // available with the browser process. The source is a Source<WebContents>.
203 // Details encompass a FindNotificationDetail object that tells whether the
204 // match was found or not found.
205 NOTIFICATION_FIND_RESULT_AVAILABLE,
206
207#if defined(OS_ANDROID)
208 // This notification is sent when the match rects of a find-in-page search
209 // are available. The source is a Source<WebContents>. Details encompass a
210 // FindMatchRectsDetails object that contains the result version and the
211 // rects information.
212 NOTIFICATION_FIND_MATCH_RECTS_AVAILABLE,
213#endif
214
215 // BackgroundContents ------------------------------------------------------
216
217 // A new background contents was opened by script. The source is the parent
218 // profile and the details are BackgroundContentsOpenedDetails.
219 NOTIFICATION_BACKGROUND_CONTENTS_OPENED,
220
221 // The background contents navigated to a new location. The source is the
222 // parent Profile, and the details are the BackgroundContents that was
223 // navigated.
224 NOTIFICATION_BACKGROUND_CONTENTS_NAVIGATED,
225
226 // The background contents were closed by someone invoking window.close()
227 // or the parent application was uninstalled.
228 // The source is the parent profile, and the details are the
229 // BackgroundContents.
230 NOTIFICATION_BACKGROUND_CONTENTS_CLOSED,
231
232 // The background contents is being deleted. The source is the
233 // parent Profile, and the details are the BackgroundContents being deleted.
234 NOTIFICATION_BACKGROUND_CONTENTS_DELETED,
235
236 // The background contents has crashed. The source is the parent Profile,
237 // and the details are the BackgroundContents.
238 NOTIFICATION_BACKGROUND_CONTENTS_TERMINATED,
239
240 // The background contents associated with a hosted app has changed (either
241 // a new background contents has been created, or an existing background
242 // contents has closed). The source is the parent Profile, and the details
243 // are the BackgroundContentsService.
244 NOTIFICATION_BACKGROUND_CONTENTS_SERVICE_CHANGED,
245
246 // Chrome has entered/exited background mode. The source is the
247 // BackgroundModeManager and the details are a boolean value which is set to
248 // true if Chrome is now in background mode.
249 NOTIFICATION_BACKGROUND_MODE_CHANGED,
250
251 // This is sent when a login prompt is shown. The source is the
252 // Source<NavigationController> for the tab in which the prompt is shown.
253 // Details are a LoginNotificationDetails which provide the LoginHandler
254 // that should be given authentication.
255 NOTIFICATION_AUTH_NEEDED,
256
257 // This is sent when authentication credentials have been supplied (either
258 // by the user or by an automation service), but before we've actually
259 // received another response from the server. The source is the
260 // Source<NavigationController> for the tab in which the prompt was shown.
261 // Details are an AuthSuppliedLoginNotificationDetails which provide the
262 // LoginHandler that should be given authentication as well as the supplied
263 // username and password.
264 NOTIFICATION_AUTH_SUPPLIED,
265
266 // This is sent when an authentication request has been dismissed without
267 // supplying credentials (either by the user or by an automation service).
268 // The source is the Source<NavigationController> for the tab in which the
269 // prompt was shown. Details are a LoginNotificationDetails which provide
270 // the LoginHandler that should be cancelled.
271 NOTIFICATION_AUTH_CANCELLED,
272
273 // History -----------------------------------------------------------------
274
275 // Sent when a history service has finished loading. The source is the
276 // profile that the history service belongs to, and the details is the
277 // HistoryService.
278 NOTIFICATION_HISTORY_LOADED,
279
280 // Sent when a URL has been added or modified. This is used by the in-memory
281 // URL database and the InMemoryURLIndex (both used by autocomplete) to track
282 // changes to the main history system.
283 //
284 // The source is the profile owning the history service that changed, and
285 // the details is history::URLsModifiedDetails that lists the modified or
286 // added URLs.
287 NOTIFICATION_HISTORY_URLS_MODIFIED,
288
289 // Sent when the user visits a URL.
290 //
291 // The source is the profile owning the history service that changed, and
292 // the details is history::URLVisitedDetails.
293 NOTIFICATION_HISTORY_URL_VISITED,
294
295 // Sent when one or more URLs are deleted.
296 //
297 // The source is the profile owning the history service that changed, and
298 // the details is history::URLsDeletedDetails that lists the deleted URLs.
299 NOTIFICATION_HISTORY_URLS_DELETED,
300
301 // Sent when a keyword search term is updated. The source is the Profile and
302 // the details are history::KeywordSearchTermDetails
303 NOTIFICATION_HISTORY_KEYWORD_SEARCH_TERM_UPDATED,
304
305 // Sent by history when the favicon of a URL changes. The source is the
Torne (Richard Coles)90dce4d2013-05-29 14:40:03 +0100306 // profile, and the details is FaviconChangedDetails (see
307 // chrome/browser/favicon/favicon_changed_details.h).
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000308 NOTIFICATION_FAVICON_CHANGED,
309
310 // Sent by FaviconTabHelper when a tab's favicon has been successfully
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000311 // updated. The details are a bool indicating whether the
312 // NavigationEntry's favicon URL has changed since the previous
313 // NOTIFICATION_FAVICON_UPDATED notification. The details are true if
314 // there was no previous NOTIFICATION_FAVICON_UPDATED notification for the
315 // current NavigationEntry.
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000316 NOTIFICATION_FAVICON_UPDATED,
317
318 // Profiles -----------------------------------------------------------------
319
320 // Sent after a Profile has been created. This notification is sent both for
321 // normal and OTR profiles.
322 // The details are none and the source is the new profile.
323 NOTIFICATION_PROFILE_CREATED,
324
325 // Sent after a Profile has been added to ProfileManager.
326 // The details are none and the source is the new profile.
327 NOTIFICATION_PROFILE_ADDED,
328
329 // Sent before a Profile is destroyed. This notification is sent both for
330 // normal and OTR profiles.
331 // The details are none and the source is a Profile*.
332 NOTIFICATION_PROFILE_DESTROYED,
333
334 // Sent after the URLRequestContextGetter for a Profile has been initialized.
335 // The details are none and the source is a Profile*.
336 NOTIFICATION_PROFILE_URL_REQUEST_CONTEXT_GETTER_INITIALIZED,
337
338 // TopSites ----------------------------------------------------------------
339
340 // Sent by TopSites when it finishes loading. The source is the profile the
341 // details the TopSites.
342 NOTIFICATION_TOP_SITES_LOADED,
343
344 // Sent by TopSites when it has finished updating its most visited URLs
345 // cache after querying the history service. The source is the TopSites and
346 // the details a CancelableRequestProvider::Handle from the history service
347 // query.
348 // Used only in testing.
349 NOTIFICATION_TOP_SITES_UPDATED,
350
351 // Sent by TopSites when the either one of the most visited urls changed, or
352 // one of the images changes. The source is the TopSites, the details not
353 // used.
354 NOTIFICATION_TOP_SITES_CHANGED,
355
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000356 // Task Manager ------------------------------------------------------------
357
358 // Sent when WebUI TaskManager opens and is ready for showing tasks.
359 NOTIFICATION_TASK_MANAGER_WINDOW_READY,
360
361 // The TaskManagerChildProcessResourceProvider collects the list of child
362 // processes when StartUpdating is called. This data is collected on the IO
363 // thread and passed back to the UI thread. Once all entries are added to the
364 // task manager, this notification is sent.
365 NOTIFICATION_TASK_MANAGER_CHILD_PROCESSES_DATA_READY,
366
367 // Sent when a renderer process is notified of new v8 heap statistics. The
368 // source is the ID of the renderer process, and the details are a
369 // V8HeapStatsDetails object.
370 NOTIFICATION_RENDERER_V8_HEAP_STATS_COMPUTED,
371
372 // Sent when a renderer process is notified of a new FPS value. The source
373 // is the ID of the renderer process, and the details are an FPSDetails
374 // object.
375 NOTIFICATION_RENDERER_FPS_COMPUTED,
376
377 // Non-history storage services --------------------------------------------
378
379 // Notification that the TemplateURLService has finished loading from the
380 // database. The source is the TemplateURLService, and the details are
381 // NoDetails.
382 NOTIFICATION_TEMPLATE_URL_SERVICE_LOADED,
383
384 // Sent when a TemplateURL is removed from the model. The source is the
385 // Profile, and the details the id of the TemplateURL being removed.
386 NOTIFICATION_TEMPLATE_URL_REMOVED,
387
388 // Sent when the prefs relating to the default search engine have changed due
389 // to policy. Source and details are unused.
390 NOTIFICATION_DEFAULT_SEARCH_POLICY_CHANGED,
391
392 // The state of a web resource has been changed. A resource may have been
393 // added, removed, or altered. Source is WebResourceService, and the
394 // details are NoDetails.
395 NOTIFICATION_PROMO_RESOURCE_STATE_CHANGED,
396
397 // A safe browsing database update completed. Source is the
398 // SafeBrowsingService and the details are a bool indicating whether the
399 // update was successful.
400 NOTIFICATION_SAFE_BROWSING_UPDATE_COMPLETE,
401
402 // Autocomplete ------------------------------------------------------------
403
404 // Sent by the autocomplete controller when done. The source is the
405 // AutocompleteController, the details not used.
406 NOTIFICATION_AUTOCOMPLETE_CONTROLLER_RESULT_READY,
407
408 // This is sent when an item of the Omnibox popup is selected. The source
409 // is the profile.
410 NOTIFICATION_OMNIBOX_OPENED_URL,
411
Ben Murdocheb525c52013-07-10 11:40:50 +0100412 // This is sent from Instant when the omnibox focus state changes.
413 NOTIFICATION_OMNIBOX_FOCUS_CHANGED,
414
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000415 // Sent when the Google URL for a profile has been updated. Some services
416 // cache this value and need to update themselves when it changes. See
417 // google_util::GetGoogleURLAndUpdateIfNecessary(). The source is the
418 // Profile, the details a GoogleURLTracker::UpdatedDetails containing the old
419 // and new URLs.
420 //
421 // Note that because incognito mode requests for the GoogleURLTracker are
422 // redirected to the non-incognito profile's copy, this notification will only
423 // ever fire on non-incognito profiles; thus listeners should use
424 // GetOriginalProfile() when constructing a Source to filter against.
425 NOTIFICATION_GOOGLE_URL_UPDATED,
426
427 // Printing ----------------------------------------------------------------
428
429 // Notification from PrintJob that an event occurred. It can be that a page
430 // finished printing or that the print job failed. Details is
431 // PrintJob::EventDetails. Source is a PrintJob.
432 NOTIFICATION_PRINT_JOB_EVENT,
433
434 // Sent when a PrintJob has been released.
435 // Source is the WebContents that holds the print job.
436 NOTIFICATION_PRINT_JOB_RELEASED,
437
438 // Shutdown ----------------------------------------------------------------
439
440 // Sent when WM_ENDSESSION has been received, after the browsers have been
441 // closed but before browser process has been shutdown. The source/details
442 // are all source and no details.
443 NOTIFICATION_SESSION_END,
444
445 // User Scripts ------------------------------------------------------------
446
447 // Sent when there are new user scripts available. The details are a
448 // pointer to SharedMemory containing the new scripts.
449 NOTIFICATION_USER_SCRIPTS_UPDATED,
450
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +0100451#if !defined(OS_ANDROID)
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000452 // User Style Sheet --------------------------------------------------------
453
454 // Sent when the user style sheet has changed.
455 NOTIFICATION_USER_STYLE_SHEET_UPDATED,
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +0100456#endif
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000457
458 // Extensions --------------------------------------------------------------
459
460 // Sent when a CrxInstaller finishes. Source is the CrxInstaller that
461 // finished. The details are the extension which was installed.
462 NOTIFICATION_CRX_INSTALLER_DONE,
463
464 // Sent when the known installed extensions have all been loaded. In
465 // testing scenarios this can happen multiple times if extensions are
466 // unloaded and reloaded. The source is a Profile.
467 NOTIFICATION_EXTENSIONS_READY,
468
469 // Sent when an extension icon being displayed in the location bar is updated.
470 // The source is the Profile and the details are the WebContents for
471 // the tab.
472 NOTIFICATION_EXTENSION_LOCATION_BAR_UPDATED,
473
474 // Sent when a new extension is loaded. The details are an Extension, and
475 // the source is a Profile.
476 NOTIFICATION_EXTENSION_LOADED,
477
478 // An error occured while attempting to load an extension. The details are a
479 // string with details about why the load failed.
480 NOTIFICATION_EXTENSION_LOAD_ERROR,
481
482 // Sent when an extension is enabled. Under most circumstances, listeners
483 // will want to use NOTIFICATION_EXTENSION_LOADED. This notification is only
484 // fired when the "Enable" button is hit in the extensions tab. The details
485 // are an Extension, and the source is a Profile.
486 NOTIFICATION_EXTENSION_ENABLED,
487
488 // Sent when attempting to load a new extension, but they are disabled. The
489 // details are an Extension*, and the source is a Profile*.
490 NOTIFICATION_EXTENSION_UPDATE_DISABLED,
491
492 // Sent when an extension's permissions change. The details are an
493 // UpdatedExtensionPermissionsInfo, and the source is a Profile.
494 NOTIFICATION_EXTENSION_PERMISSIONS_UPDATED,
495
496 // Sent when an extension install turns out to not be a theme.
497 NOTIFICATION_NO_THEME_DETECTED,
498
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +0100499 // Sent when new extensions are installed, or existing extensions are updated.
500 // The details are an InstalledExtensionInfo, and the source is a Profile.
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000501 NOTIFICATION_EXTENSION_INSTALLED,
502
503 // An error occured during extension install. The details are a string with
504 // details about why the install failed.
505 NOTIFICATION_EXTENSION_INSTALL_ERROR,
506
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000507 // Sent when an extension has been uninstalled. The details are an Extension,
508 // and the source is a Profile.
509 NOTIFICATION_EXTENSION_UNINSTALLED,
510
511 // Sent when an extension uninstall is not allowed because the extension is
512 // not user manageable. The details are an Extension, and the source is a
513 // Profile.
514 NOTIFICATION_EXTENSION_UNINSTALL_NOT_ALLOWED,
515
516 // Sent when an extension is unloaded. This happens when an extension is
517 // uninstalled or disabled. The details are an UnloadedExtensionInfo, and
518 // the source is a Profile.
519 //
520 // Note that when this notification is sent, ExtensionService has already
521 // removed the extension from its internal state.
522 NOTIFICATION_EXTENSION_UNLOADED,
523
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +0100524 // Sent when an Extension object is removed from ExtensionService. This
525 // can happen when an extension is uninstalled, upgraded, or blacklisted,
526 // including all cases when the Extension is deleted. The details are an
527 // Extension, and the source is a Profile.
528 NOTIFICATION_EXTENSION_REMOVED,
529
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000530 // Sent after a new ExtensionHost is created. The details are
531 // an ExtensionHost* and the source is a Profile*.
532 NOTIFICATION_EXTENSION_HOST_CREATED,
533
534 // Sent before an ExtensionHost is destroyed. The details are
535 // an ExtensionHost* and the source is a Profile*.
536 NOTIFICATION_EXTENSION_HOST_DESTROYED,
537
538 // Sent by an ExtensionHost when it has finished its initial page load,
539 // including any external resources.
540 // The details are an ExtensionHost* and the source is a Profile*.
541 NOTIFICATION_EXTENSION_HOST_DID_STOP_LOADING,
542
543 // Sent by an ExtensionHost when its render view requests closing through
544 // window.close(). The details are an ExtensionHost* and the source is a
545 // Profile*.
546 NOTIFICATION_EXTENSION_HOST_VIEW_SHOULD_CLOSE,
547
548 // Sent when extension render process ends (whether it crashes or closes).
549 // The details are an ExtensionHost* and the source is a Profile*. Not sent
550 // during browser shutdown.
551 NOTIFICATION_EXTENSION_PROCESS_TERMINATED,
552
553 // Sent when a background page is ready so other components can load.
554 NOTIFICATION_EXTENSION_BACKGROUND_PAGE_READY,
555
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000556 // Sent when a browser action's state has changed. The source is the
557 // ExtensionAction* that changed. The details are the Profile* that the
558 // browser action belongs to.
559 NOTIFICATION_EXTENSION_BROWSER_ACTION_UPDATED,
560
561 // Sent when the count of page actions has changed. Note that some of them
562 // may not apply to the current page. The source is a LocationBar*. There
563 // are no details.
564 NOTIFICATION_EXTENSION_PAGE_ACTION_COUNT_CHANGED,
565
566 // Sent when a browser action's visibility has changed. The source is the
Torne (Richard Coles)b2df76e2013-05-13 16:52:09 +0100567 // ExtensionPrefs* that changed, and the details are a std::string with the
568 // extension's ID.
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000569 NOTIFICATION_EXTENSION_BROWSER_ACTION_VISIBILITY_CHANGED,
570
571 // Sent when a page action's visibility has changed. The source is the
572 // ExtensionAction* that changed. The details are a WebContents*.
573 NOTIFICATION_EXTENSION_PAGE_ACTION_VISIBILITY_CHANGED,
574
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000575 // Sent when a system indicator action's state has changed. The source is the
576 // Profile* that the browser action belongs to. The details are the
577 // ExtensionAction* that changed.
578 NOTIFICATION_EXTENSION_SYSTEM_INDICATOR_UPDATED,
579
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000580 // Sent when an extension command has been removed. The source is the profile
581 // and the details is a std::pair of two std::string objects (an extension ID
582 // and the name of the command being removed).
583 NOTIFICATION_EXTENSION_COMMAND_REMOVED,
584
585 // Sent when an extension command has been added. The source is the profile
586 // and the details is a std::pair of two std::string objects (an extension ID
587 // and the name of the command being added).
588 NOTIFICATION_EXTENSION_COMMAND_ADDED,
589
590 // Sent when an extension command shortcut for a browser action is activated
Torne (Richard Coles)b2df76e2013-05-13 16:52:09 +0100591 // on Mac. The source is the profile and the details is a std::pair of a
592 // std::string containing an extension ID and a gfx::NativeWindow for the
593 // associated window.
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000594 NOTIFICATION_EXTENSION_COMMAND_BROWSER_ACTION_MAC,
595
596 // Sent when an extension command shortcut for a page action is activated
Torne (Richard Coles)b2df76e2013-05-13 16:52:09 +0100597 // on Mac. The source is the profile and the details is a std::pair of a
598 // std::string containing an extension ID and a gfx::NativeWindow for the
599 // associated window.
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000600 NOTIFICATION_EXTENSION_COMMAND_PAGE_ACTION_MAC,
601
602 // Sent when an extension command shortcut for a script badge is activated
Torne (Richard Coles)b2df76e2013-05-13 16:52:09 +0100603 // on Mac. The source is the profile and the details is a std::pair of a
604 // std::string containing an extension ID and a gfx::NativeWindow for the
605 // associated window.
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000606 NOTIFICATION_EXTENSION_COMMAND_SCRIPT_BADGE_MAC,
607
608 // A new extension RenderViewHost has been registered. The details are
609 // the RenderViewHost*.
610 NOTIFICATION_EXTENSION_VIEW_REGISTERED,
611
612 // An extension RenderViewHost has been unregistered. The details are
613 // the RenderViewHost*.
614 NOTIFICATION_EXTENSION_VIEW_UNREGISTERED,
615
616 // Sent by an extension to notify the browser about the results of a unit
617 // test.
618 NOTIFICATION_EXTENSION_TEST_PASSED,
619 NOTIFICATION_EXTENSION_TEST_FAILED,
620
621 // Sent by extension test javascript code, typically in a browser test. The
622 // sender is a std::string representing the extension id, and the details
623 // are a std::string with some message. This is particularly useful when you
624 // want to have C++ code wait for javascript code to do something.
625 NOTIFICATION_EXTENSION_TEST_MESSAGE,
626
627 // Sent when an bookmarks extensions API function was successfully invoked.
628 // The source is the id of the extension that invoked the function, and the
629 // details are a pointer to the const BookmarksFunction in question.
630 NOTIFICATION_EXTENSION_BOOKMARKS_API_INVOKED,
631
632 // Sent when a downloads extensions API event is fired. The source is an
633 // ExtensionDownloadsEventRouter::NotificationSource, and the details is a
634 // std::string containing json. Used for testing.
635 NOTIFICATION_EXTENSION_DOWNLOADS_EVENT,
636
637 // Sent when an omnibox extension has sent back omnibox suggestions. The
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +0100638 // source is the profile, and the details are an
639 // extensions::api::omnibox::SendSuggestions::Params object.
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000640 NOTIFICATION_EXTENSION_OMNIBOX_SUGGESTIONS_READY,
641
642 // Sent when the user accepts the input in an extension omnibox keyword
643 // session. The source is the profile.
644 NOTIFICATION_EXTENSION_OMNIBOX_INPUT_ENTERED,
645
646 // Sent when an omnibox extension has updated the default suggestion. The
647 // source is the profile.
648 NOTIFICATION_EXTENSION_OMNIBOX_DEFAULT_SUGGESTION_CHANGED,
649
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000650 // Sent when the extension updater starts checking for updates to installed
651 // extensions. The source is a Profile, and there are no details.
652 NOTIFICATION_EXTENSION_UPDATING_STARTED,
653
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000654 // The extension updater found an update and will attempt to download and
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000655 // install it. The source is a Profile, and the details are an
656 // extensions::UpdateDetails object with the extension id and version of the
657 // found update.
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000658 NOTIFICATION_EXTENSION_UPDATE_FOUND,
659
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000660 // Component Updater -------------------------------------------------------
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +0100661 //
662 // The component updater notifications are deprecated and they will be
663 // removed soon.
664 //
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000665 // Sent when the component updater starts doing update checks. If no
666 // component has been registered for update this notification is not
667 // generated. The source is the component updater itself and there are
668 // no details.
669 NOTIFICATION_COMPONENT_UPDATER_STARTED,
670
671 // Sent when the component updater is going to take a long nap. The
672 // source is the component updater itself and there are no details.
673 NOTIFICATION_COMPONENT_UPDATER_SLEEPING,
674
675 // Sent when there is a new version of a registered component. After
676 // the notification is send the component will be downloaded. The source
677 // is the id of the component and there are no details.
678 NOTIFICATION_COMPONENT_UPDATE_FOUND,
679
680 // Send when the new component has been downloaded and an installation
681 // or upgrade is about to be attempted. The source is the id of the
682 // component and there are no details.
683 NOTIFICATION_COMPONENT_UPDATE_READY,
684
685 // Desktop Notifications ---------------------------------------------------
686
687 // This notification is sent when a balloon is connected to a renderer
688 // process to render the balloon contents. The source is a
689 // Source<BalloonHost> with a pointer to the the balloon. A
690 // NOTIFY_BALLOON_DISCONNECTED is guaranteed before the source pointer
691 // becomes junk. No details expected.
692 NOTIFICATION_NOTIFY_BALLOON_CONNECTED,
693
694 // This message is sent after a balloon is disconnected from the renderer
695 // process. The source is a Source<BalloonHost> with a pointer to the
696 // balloon host (the pointer is usable). No details are expected.
697 NOTIFICATION_NOTIFY_BALLOON_DISCONNECTED,
698
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000699 // Upgrade notifications ---------------------------------------------------
700
701 // Sent when Chrome believes an update has been installed and available for
702 // long enough with the user shutting down to let it take effect. See
703 // upgrade_detector.cc for details on how long it waits. No details are
704 // expected.
705 NOTIFICATION_UPGRADE_RECOMMENDED,
706
707 // Sent when a critical update has been installed. No details are expected.
708 NOTIFICATION_CRITICAL_UPGRADE_INSTALLED,
709
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000710 // Sent when the current install is outdated. No details are expected.
711 NOTIFICATION_OUTDATED_INSTALL,
712
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000713 // Software incompatibility notifications ----------------------------------
714
715 // Sent when Chrome has finished compiling the list of loaded modules (and
716 // other modules of interest). No details are expected.
717 NOTIFICATION_MODULE_LIST_ENUMERATED,
718
719 // Sent when Chrome is done scanning the module list and when the user has
720 // acknowledged the module incompatibility. No details are expected.
721 NOTIFICATION_MODULE_INCOMPATIBILITY_BADGE_CHANGE,
722
723 // Accessibility Notifications ---------------------------------------------
724
725 // Notification that a window in the browser UI (not the web content)
726 // was opened, for propagating to an accessibility extension.
727 // Details will be an AccessibilityWindowInfo.
728 NOTIFICATION_ACCESSIBILITY_WINDOW_OPENED,
729
730 // Notification that a window in the browser UI was closed.
731 // Details will be an AccessibilityWindowInfo.
732 NOTIFICATION_ACCESSIBILITY_WINDOW_CLOSED,
733
734 // Notification that a control in the browser UI was focused.
735 // Details will be an AccessibilityControlInfo.
736 NOTIFICATION_ACCESSIBILITY_CONTROL_FOCUSED,
737
738 // Notification that a control in the browser UI had its action taken,
739 // like pressing a button or toggling a checkbox.
740 // Details will be an AccessibilityControlInfo.
741 NOTIFICATION_ACCESSIBILITY_CONTROL_ACTION,
742
743 // Notification that text box in the browser UI had text change.
744 // Details will be an AccessibilityControlInfo.
745 NOTIFICATION_ACCESSIBILITY_TEXT_CHANGED,
746
747 // Notification that a pop-down menu was opened, for propagating
748 // to an accessibility extension.
749 // Details will be an AccessibilityMenuInfo.
750 NOTIFICATION_ACCESSIBILITY_MENU_OPENED,
751
752 // Notification that a pop-down menu was closed, for propagating
753 // to an accessibility extension.
754 // Details will be an AccessibilityMenuInfo.
755 NOTIFICATION_ACCESSIBILITY_MENU_CLOSED,
756
757 // Content Settings --------------------------------------------------------
758
759 // Sent when content settings change. The source is a HostContentSettings
760 // object, the details are ContentSettingsNotificationsDetails.
761 NOTIFICATION_CONTENT_SETTINGS_CHANGED,
762
763 // Sent when the collect cookies dialog is shown. The source is a
764 // TabSpecificContentSettings object, there are no details.
765 NOTIFICATION_COLLECTED_COOKIES_SHOWN,
766
767 // Sent when a non-default setting in the the notification content settings
768 // map has changed. The source is the DesktopNotificationService, the
769 // details are None.
770 NOTIFICATION_DESKTOP_NOTIFICATION_SETTINGS_CHANGED,
771
772 // Sent when content settings change for a tab. The source is a
773 // content::WebContents object, the details are None.
774 NOTIFICATION_WEB_CONTENT_SETTINGS_CHANGED,
775
776 // Sync --------------------------------------------------------------------
777
778 // The sync service has finished the datatype configuration process. The
779 // source is the ProfileSyncService object of the Profile. There are no
780 // details.
781 NOTIFICATION_SYNC_CONFIGURE_DONE,
782
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000783 // A service is requesting a sync datatype refresh for the current profile.
Ben Murdoch7dbb3d52013-07-17 14:55:54 +0100784 // The details value is a const syncer::ModelTypeSet.
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000785 // If the payload map is empty, it should be treated as an invalidation for
786 // all enabled types. This is used by session sync.
787 NOTIFICATION_SYNC_REFRESH_LOCAL,
788
789 // External notification requesting a sync datatype refresh for the current
Ben Murdoch7dbb3d52013-07-17 14:55:54 +0100790 // profile. The details value is a const syncer::ObjectIdInvalidationMap.
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000791 // If the payload map is empty, it should be treated as an invalidation for
792 // all enabled types. This is used for notifications on Android.
793 NOTIFICATION_SYNC_REFRESH_REMOTE,
794
795 // The session service has been saved. This notification type is only sent
796 // if there were new SessionService commands to save, and not for no-op save
797 // operations.
798 NOTIFICATION_SESSION_SERVICE_SAVED,
799
800 // A foreign session has been updated. If a new tab page is open, the
801 // foreign session handler needs to update the new tab page's foreign
802 // session data.
803 NOTIFICATION_FOREIGN_SESSION_UPDATED,
804
805 // Foreign sessions has been disabled. New tabs should not display foreign
806 // session data.
807 NOTIFICATION_FOREIGN_SESSION_DISABLED,
808
809 // All tab metadata has been loaded from disk asynchronously.
810 // Sent on the UI thread.
811 // The source is the Profile. There are no details.
812 NOTIFICATION_SESSION_RESTORE_COMPLETE,
813
814 // Cookies -----------------------------------------------------------------
815
816 // Sent when a cookie changes. The source is a Profile object, the details
817 // are a ChromeCookieDetails object.
818 NOTIFICATION_COOKIE_CHANGED,
819
820 // Token Service -----------------------------------------------------------
821
822 // When the token service has a new token available for a service, one of
823 // these notifications is issued per new token.
824 // The source is a TokenService on the Profile. The details are a
825 // TokenAvailableDetails object.
826 NOTIFICATION_TOKEN_AVAILABLE,
827
828 // When there aren't any additional tokens left to load, this notification
829 // is sent.
830 // The source is a TokenService on the profile. There are no details.
831 NOTIFICATION_TOKEN_LOADING_FINISHED,
832
833 // If a token request failed, one of these is issued per failed request.
834 // The source is a TokenService on the Profile. The details are a
835 // TokenRequestFailedDetails object.
836 NOTIFICATION_TOKEN_REQUEST_FAILED,
837
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000838 // Fired when the TokenService has had all of its tokens removed (such as due
839 // to the user signing out). The source is the TokenService. There are no
840 // details.
841 NOTIFICATION_TOKENS_CLEARED,
842
843 // Sent when a user signs into Google services such as sync.
844 // The source is the Profile. The details are a
845 // GoogleServiceSigninSuccessDetails object.
846 NOTIFICATION_GOOGLE_SIGNIN_SUCCESSFUL,
847
848 // Sent when a user fails to sign into Google services such as sync.
849 // The source is the Profile. The details are a GoogleServiceAuthError
850 // object.
851 NOTIFICATION_GOOGLE_SIGNIN_FAILED,
852
853 // Sent when the currently signed-in user for a user has been signed out.
854 // The source is the Profile. The details are a
855 // GoogleServiceSignoutDetails object.
856 NOTIFICATION_GOOGLE_SIGNED_OUT,
857
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000858 // Download Notifications --------------------------------------------------
859
860 // Sent when a download is initiated. It is possible that the download will
861 // not actually begin due to the DownloadRequestLimiter cancelling it
862 // prematurely.
863 // The source is the corresponding RenderViewHost. There are no details.
864 NOTIFICATION_DOWNLOAD_INITIATED,
865
866 // Misc --------------------------------------------------------------------
867
868 // Sent when PerformanceMonitor has finished all the initial steps of data
869 // collection and has begun passively observing. The source is the
870 // PerformanceMonitor*. No details are expected.
871 NOTIFICATION_PERFORMANCE_MONITOR_INITIALIZED,
872
873#if defined(OS_CHROMEOS)
874 // Sent when a chromium os user logs in.
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +0100875 // The details are a chromeos::User object.
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000876 NOTIFICATION_LOGIN_USER_CHANGED,
877
878 // Sent immediately after the logged-in user's profile is ready.
879 // The details are a Profile object.
880 NOTIFICATION_LOGIN_USER_PROFILE_PREPARED,
881
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +0100882 // Sent when the chromium session of a particular user is started.
883 // If this is a new user on the machine this will not be sent until a profile
884 // picture has been selected, unlike NOTIFICATION_LOGIN_USER_CHANGED which is
885 // sent immediately after the user has logged in. This will be sent again if
886 // the browser crashes and restarts.
887 // The details are a chromeos::User object.
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000888 NOTIFICATION_SESSION_STARTED,
889
890 // Sent when user image is updated.
891 NOTIFICATION_LOGIN_USER_IMAGE_CHANGED,
892
893 // Sent by UserManager when a profile image download has been completed.
894 NOTIFICATION_PROFILE_IMAGE_UPDATED,
895
896 // Sent by UserManager when profile image download has failed or user has the
897 // default profile image or no profile image at all. No details are expected.
898 NOTIFICATION_PROFILE_IMAGE_UPDATE_FAILED,
899
900 // Sent when a chromium os user attempts to log in. The source is
901 // all and the details are AuthenticationNotificationDetails.
902 NOTIFICATION_LOGIN_AUTHENTICATION,
903
904 // Sent when webui lock screen is ready.
905 NOTIFICATION_LOCK_WEBUI_READY,
906
907 // Sent when webui lock screen wallpaper is loaded and displayed.
908 NOTIFICATION_LOCK_BACKGROUND_DISPLAYED,
909
Ben Murdocha3f7b4e2013-07-24 10:36:34 +0100910 // Sent when GAIA iframe has been loaded. First paint event after this fires
911 // NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE.
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000912 // Possible scenarios:
913 // 1. Boot into device that has user pods display disabled or no users.
914 // Note that booting with network not connected would first generate
915 // NOTIFICATION_LOGIN_NETWORK_ERROR_SHOWN.
916 // 2. From the user pods list, open "Add User" for the second time
917 // (see below).
918 // TODO(nkostylev): Send this notification any time "Add User" is activated
919 // even if it has been silently preloaded on boot.
920 // Not sent on "silent preload" i.e. when booting into login screen
921 // with user pods, GAIA frame is silently preloaded in the background.
922 // Activating it ("Add User") for the first time would not generate this
923 // notification.
924 NOTIFICATION_LOGIN_WEBUI_LOADED,
925
926 // Sent when the login screen has loaded in retail mode. The first paint event
Ben Murdocha3f7b4e2013-07-24 10:36:34 +0100927 // after this fires NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE.
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000928 NOTIFICATION_DEMO_WEBUI_LOADED,
929
930 // Sent when the user images on the WebUI login screen have all been loaded.
931 // "Normal boot" i.e. for the device with at least one user would generate
Ben Murdocha3f7b4e2013-07-24 10:36:34 +0100932 // this one on boot. First paint event after this fires
933 // NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE.
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000934 NOTIFICATION_LOGIN_USER_IMAGES_LOADED,
935
936 // Sent when a network error message is displayed on the WebUI login screen.
Ben Murdocha3f7b4e2013-07-24 10:36:34 +0100937 // First paint event of this fires NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE.
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000938 NOTIFICATION_LOGIN_NETWORK_ERROR_SHOWN,
939
940 // Sent when the first OOBE screen has been displayed. Note that the screen
Ben Murdocha3f7b4e2013-07-24 10:36:34 +0100941 // may not be fully rendered at this point. First paint event after this fires
942 // NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE.
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000943 NOTIFICATION_WIZARD_FIRST_SCREEN_SHOWN,
944
Ben Murdocha3f7b4e2013-07-24 10:36:34 +0100945 // Sent when the specific part of login/lock WebUI is considered to be
946 // visible. That moment is tracked as the first paint event after one of the:
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000947 // 1. NOTIFICATION_LOGIN_USER_IMAGES_LOADED
948 // 2. NOTIFICATION_LOGIN_WEBUI_LOADED
949 // 3. NOTIFICATION_LOGIN_NETWORK_ERROR_SHOWN
950 // 4. NOTIFICATION_WIZARD_FIRST_SCREEN_SHOWN
951 // 5. NOTIFICATION_DEMO_WEBUI_LOADED
952 //
953 // Possible series of notifications:
954 // 1. Boot into fresh OOBE
955 // NOTIFICATION_WIZARD_FIRST_SCREEN_SHOWN
Ben Murdocha3f7b4e2013-07-24 10:36:34 +0100956 // NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE
957 // 2. Boot into user pods list (normal boot). Same for lock screen.
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000958 // NOTIFICATION_LOGIN_USER_IMAGES_LOADED
Ben Murdocha3f7b4e2013-07-24 10:36:34 +0100959 // NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000960 // 3. Boot into GAIA sign in UI (user pods display disabled or no users):
961 // if no network is connected or flaky network
962 // (NOTIFICATION_LOGIN_NETWORK_ERROR_SHOWN +
Ben Murdocha3f7b4e2013-07-24 10:36:34 +0100963 // NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE)
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000964 // NOTIFICATION_LOGIN_WEBUI_LOADED
Ben Murdocha3f7b4e2013-07-24 10:36:34 +0100965 // NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000966 // 4. Boot into retail mode
967 // NOTIFICATION_DEMO_WEBUI_LOADED
Ben Murdocha3f7b4e2013-07-24 10:36:34 +0100968 // NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +0100969 // 5. Boot into kiosk mode
970 // NOTIFICATION_KIOSK_APP_LAUNCHED
Ben Murdocha3f7b4e2013-07-24 10:36:34 +0100971 NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE,
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000972
973 // Sent when proxy dialog is closed.
974 NOTIFICATION_LOGIN_PROXY_CHANGED,
975
Torne (Richard Coles)868fa2f2013-06-11 10:57:03 +0100976 // Send when kiosk auto-launch warning screen is visible.
977 NOTIFICATION_KIOSK_AUTOLAUNCH_WARNING_VISIBLE,
978
979 // Send when kiosk auto-launch warning screen had completed.
980 NOTIFICATION_KIOSK_AUTOLAUNCH_WARNING_COMPLETED,
981
Torne (Richard Coles)7d4cd472013-06-19 11:58:07 +0100982 // Send when enable consumer kiosk warning screen is visible.
983 NOTIFICATION_KIOSK_ENABLE_WARNING_VISIBLE,
984
985 // Send when consumer kiosk has been enabled.
986 NOTIFICATION_KIOSK_ENABLED,
987
988 // Send when enable consumer kiosk warning screen had completed.
989 NOTIFICATION_KIOSK_ENABLE_WARNING_COMPLETED,
990
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +0100991 // Sent when kiosk app list is loaded in UI.
992 NOTIFICATION_KIOSK_APPS_LOADED,
993
994 // Sent when a kiosk app is launched.
995 NOTIFICATION_KIOSK_APP_LAUNCHED,
996
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000997 // Sent when the user list has changed.
998 NOTIFICATION_USER_LIST_CHANGED,
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000999
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001000 // Sent when the screen lock state has changed. The source is
1001 // ScreenLocker and the details is a bool specifing that the
1002 // screen is locked. When details is a false, the source object
1003 // is being deleted, so the receiver shouldn't use the screen locker
1004 // object.
1005 NOTIFICATION_SCREEN_LOCK_STATE_CHANGED,
1006
1007 // Sent by DeviceSettingsService to indicate that the ownership status
1008 // changed. If you can, please use DeviceSettingsService::Observer instead.
1009 // Other singleton-based services can't use that because Observer
1010 // unregistration is impossible due to unpredictable deletion order.
1011 NOTIFICATION_OWNERSHIP_STATUS_CHANGED,
1012
1013 // This is sent to a ChromeOS settings observer when a system setting is
1014 // changed. The source is the CrosSettings and the details a std::string of
1015 // the changed setting.
1016 NOTIFICATION_SYSTEM_SETTING_CHANGED,
1017
1018 // Sent by SIM unlock dialog when it has finished with the process of
1019 // updating RequirePin setting. RequirePin setting might have been changed
1020 // to a new value or update might have been canceled.
1021 // In either case notification is sent and details contain a bool
1022 // that represents current value.
1023 NOTIFICATION_REQUIRE_PIN_SETTING_CHANGE_ENDED,
1024
1025 // Sent by SIM unlock dialog when it has finished the EnterPin or
1026 // EnterPuk dialog, either because the user cancelled, or entered a
1027 // PIN or PUK.
1028 NOTIFICATION_ENTER_PIN_ENDED,
1029
Torne (Richard Coles)868fa2f2013-06-11 10:57:03 +01001030 // Sent when large cursor is toggled.
1031 NOTIFICATION_CROS_ACCESSIBILITY_TOGGLE_LARGE_CURSOR,
1032
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001033 // Sent when high contrast mode is toggled.
1034 NOTIFICATION_CROS_ACCESSIBILITY_TOGGLE_HIGH_CONTRAST_MODE,
1035
1036 // Sent when screen magnifier is toggled.
1037 NOTIFICATION_CROS_ACCESSIBILITY_TOGGLE_SCREEN_MAGNIFIER,
1038
1039 // Sent when spoken feedback is toggled.
1040 NOTIFICATION_CROS_ACCESSIBILITY_TOGGLE_SPOKEN_FEEDBACK,
1041
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001042#endif
1043
1044#if defined(TOOLKIT_VIEWS)
1045 // Sent when a bookmark's context menu is shown. Used to notify
1046 // tests that the context menu has been created and shown.
1047 NOTIFICATION_BOOKMARK_CONTEXT_MENU_SHOWN,
1048
1049 // Notification that the nested loop using during tab dragging has returned.
1050 // Used for testing.
1051 NOTIFICATION_TAB_DRAG_LOOP_DONE,
1052#endif
1053
1054 // Send when a context menu is shown. Used to notify tests that the context
1055 // menu has been created and shown.
1056 NOTIFICATION_RENDER_VIEW_CONTEXT_MENU_SHOWN,
1057
1058 // Send when a context menu is closed.
1059 NOTIFICATION_RENDER_VIEW_CONTEXT_MENU_CLOSED,
1060
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001061 // Sent when the Instant Controller determines whether an Instant tab supports
1062 // the Instant API or not.
1063 NOTIFICATION_INSTANT_TAB_SUPPORT_DETERMINED,
1064
1065 // Sent when the Instant Controller determines whether the NTP supports the
1066 // Instant API or not.
1067 NOTIFICATION_INSTANT_NTP_SUPPORT_DETERMINED,
1068
1069 // Sent when the Instant Controller has sent the Most Visited Items to the
1070 // renderer.
1071 NOTIFICATION_INSTANT_SENT_MOST_VISITED_ITEMS,
1072
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001073 // Sent when the CaptivePortalService checks if we're behind a captive portal.
1074 // The Source is the Profile the CaptivePortalService belongs to, and the
1075 // Details are a Details<CaptivePortalService::CheckResults>.
1076 NOTIFICATION_CAPTIVE_PORTAL_CHECK_RESULT,
1077
1078 // Password Store ----------------------------------------------------------
1079 // This notification is sent whenenever login entries stored in the password
1080 // store are changed. The detail of this notification is a list of changes
1081 // represented by a vector of PasswordStoreChange. Each change includes a
1082 // change type (ADD, UPDATE, or REMOVE) as well as the
1083 // |content::PasswordForm|s that were affected.
1084 NOTIFICATION_LOGINS_CHANGED,
1085
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001086 // Sent when the applications in the NTP app launcher have been reordered.
1087 // The details, if not NoDetails, is the std::string ID of the extension that
1088 // was moved.
1089 NOTIFICATION_EXTENSION_LAUNCHER_REORDERED,
1090
1091 // Sent when an app is installed and an NTP has been shown. Source is the
1092 // WebContents that was shown, and Details is the string ID of the extension
1093 // which was installed.
1094 NOTIFICATION_APP_INSTALLED_TO_NTP,
1095
1096 // Similar to NOTIFICATION_APP_INSTALLED_TO_NTP but used to nofity ash AppList
1097 // about installed app. Source is the profile in which the app is installed
1098 // and Details is the string ID of the extension.
1099 NOTIFICATION_APP_INSTALLED_TO_APPLIST,
1100
1101#if defined(USE_ASH)
1102 // Sent when wallpaper show animation has finished.
1103 NOTIFICATION_WALLPAPER_ANIMATION_FINISHED,
Torne (Richard Coles)b2df76e2013-05-13 16:52:09 +01001104
1105 // Sent when the Ash session has started. In its current incantation this is
1106 // generated when the metro app has connected to the browser IPC channel.
1107 // Used only on Windows.
1108 NOTIFICATION_ASH_SESSION_STARTED,
1109 // Sent when the Ash session ended. Currently this means the metro app exited.
1110 // Used only on Windows.
1111 NOTIFICATION_ASH_SESSION_ENDED,
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001112#endif
1113
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001114 // Sent when a new web store promo has been loaded.
1115 NOTIFICATION_WEB_STORE_PROMO_LOADED,
1116
1117 // Protocol Handler Registry -----------------------------------------------
1118 // Sent when a ProtocolHandlerRegistry is changed. The source is the profile.
1119 NOTIFICATION_PROTOCOL_HANDLER_REGISTRY_CHANGED,
1120
1121 // Sent when the cached profile info has changed.
1122 NOTIFICATION_PROFILE_CACHED_INFO_CHANGED,
1123
1124 // Sent when the cached profile has finished writing a profile picture to
1125 // disk.
1126 NOTIFICATION_PROFILE_CACHE_PICTURE_SAVED,
1127
1128 // Sent when the browser enters or exits fullscreen mode.
1129 NOTIFICATION_FULLSCREEN_CHANGED,
1130
1131 // Sent when the FullscreenController changes, confirms, or denies mouse lock.
1132 // The source is the browser's FullscreenController, no details.
1133 NOTIFICATION_MOUSE_LOCK_CHANGED,
1134
1135 // Sent by the PluginPrefs when there is a change of plugin enable/disable
1136 // status. The source is the profile.
1137 NOTIFICATION_PLUGIN_ENABLE_STATUS_CHANGED,
1138
1139 // Panels Notifications. The Panels are small browser windows near the bottom
1140 // of the screen.
1141 // Sent when all nonblocking bounds animations are finished across panels.
1142 // Used only in unit testing.
1143 NOTIFICATION_PANEL_BOUNDS_ANIMATIONS_FINISHED,
1144
1145 // Sent when panel gains/loses focus.
1146 // The source is the Panel, no details.
1147 // Used only in unit testing.
1148 NOTIFICATION_PANEL_CHANGED_ACTIVE_STATUS,
1149
1150 // Sent when panel is minimized/restored/shows title only etc.
1151 // The source is the Panel, no details.
1152 NOTIFICATION_PANEL_CHANGED_EXPANSION_STATE,
1153
1154 // Sent when panel window size is known. This is for platforms where the
1155 // window creation is async and size of the window only becomes known later.
1156 // Used only in unit testing.
1157 NOTIFICATION_PANEL_WINDOW_SIZE_KNOWN,
1158
1159 // Sent when panel app icon is loaded.
1160 // Used only in unit testing.
1161 NOTIFICATION_PANEL_APP_ICON_LOADED,
1162
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001163 // Sent when panel collection get updated.
1164 // The source is the PanelCollection, no details.
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001165 // Used only in coordination with notification balloons.
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001166 NOTIFICATION_PANEL_COLLECTION_UPDATED,
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001167
1168 // Sent when panel is closed.
1169 // The source is the Panel, no details.
1170 NOTIFICATION_PANEL_CLOSED,
1171
1172 // Sent when a global error has changed and the error UI should update it
1173 // self. The source is a Source<Profile> containing the profile for the
1174 // error. The detail is a GlobalError object that has changed or NULL if
1175 // all error UIs should update.
1176 NOTIFICATION_GLOBAL_ERRORS_CHANGED,
1177
1178 // BrowsingDataRemover ----------------------------------------------------
1179 // Sent on the UI thread after BrowsingDataRemover has removed browsing data
1180 // but before it has notified its explicit observers. The source is a
1181 // Source<Profile> containing the profile in which browsing data was removed,
1182 // and the detail is a BrowsingDataRemover::NotificationDetail containing the
1183 // removal mask and the start of the removal timeframe with which
1184 // BrowsingDataRemove::Remove was called.
1185 NOTIFICATION_BROWSING_DATA_REMOVED,
1186
1187 // The user accepted or dismissed a SSL client authentication request.
1188 // The source is a Source<net::HttpNetworkSession>. Details is a
1189 // (std::pair<net::SSLCertRequestInfo*, net::X509Certificate*>).
1190 NOTIFICATION_SSL_CLIENT_AUTH_CERT_SELECTED,
1191
1192 // Blocked content.
1193 // Sent when content changes to or from the blocked state in
1194 // BlockedContentTabHelper.
1195 // The source is the WebContents of the blocked content and details
1196 // is a boolean: true if the content is entering the blocked state, false
1197 // if it is leaving.
1198 NOTIFICATION_CONTENT_BLOCKED_STATE_CHANGED,
1199
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001200 // Session Restore --------------------------------------------------------
1201
1202 // Sent when synchronous (startup) session restore completes. No details or
1203 // source.
1204 NOTIFICATION_SESSION_RESTORE_DONE,
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001205
1206 // Note:-
1207 // Currently only Content and Chrome define and use notifications.
1208 // Custom notifications not belonging to Content and Chrome should start
1209 // from here.
1210 NOTIFICATION_CHROME_END,
1211};
1212
1213} // namespace chrome
1214
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01001215#endif // CHROME_BROWSER_CHROME_NOTIFICATION_TYPES_H_