1 // Copyright 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROME_BROWSER_CHROME_NOTIFICATION_TYPES_H_ 6 #define CHROME_BROWSER_CHROME_NOTIFICATION_TYPES_H_ 7 8 #include "build/build_config.h" 9 #include "content/public/browser/notification_types.h" 10 11 namespace chrome { 12 13 enum 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_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 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 69 // The user has changed the browser theme. The source is a 70 // Source<ThemeService>. There are no details. 71 NOTIFICATION_BROWSER_THEME_CHANGED, 72 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) 78 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, 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 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, 127 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, 133 134 // Used to fire notifications about how long various events took to 135 // complete. E.g., this is used to get more fine grained timings from the 136 // new tab page. The source is a WebContents and the details is a 137 // MetricEventDurationDetails. 138 NOTIFICATION_METRIC_EVENT_DURATION, 139 140 // This notification is sent when extensions::TabHelper::SetExtensionApp is 141 // invoked. The source is the extensions::TabHelper SetExtensionApp was 142 // invoked on. 143 NOTIFICATION_TAB_CONTENTS_APPLICATION_EXTENSION_CHANGED, 144 145 // Tabs -------------------------------------------------------------------- 146 147 // Sent when a tab is added to a WebContentsDelegate. The source is the 148 // WebContentsDelegate and the details is the added WebContents. 149 NOTIFICATION_TAB_ADDED, 150 151 // This notification is sent after a tab has been appended to the tab_strip. 152 // The source is a Source<WebContents> of the tab being added. There 153 // are no details. 154 NOTIFICATION_TAB_PARENTED, 155 156 // This message is sent before a tab has been closed. The source is a 157 // Source<NavigationController> with a pointer to the controller for the 158 // closed tab. No details are expected. 159 // 160 // See also content::NOTIFICATION_WEB_CONTENTS_DESTROYED, which is sent when 161 // the WebContents containing the NavigationController is destroyed. 162 NOTIFICATION_TAB_CLOSING, 163 164 // Stuff inside the tabs --------------------------------------------------- 165 166 // This notification is sent when the result of a find-in-page search is 167 // available with the browser process. The source is a Source<WebContents>. 168 // Details encompass a FindNotificationDetail object that tells whether the 169 // match was found or not found. 170 NOTIFICATION_FIND_RESULT_AVAILABLE, 171 172 // BackgroundContents ------------------------------------------------------ 173 174 // A new background contents was opened by script. The source is the parent 175 // profile and the details are BackgroundContentsOpenedDetails. 176 NOTIFICATION_BACKGROUND_CONTENTS_OPENED, 177 178 // The background contents navigated to a new location. The source is the 179 // parent Profile, and the details are the BackgroundContents that was 180 // navigated. 181 NOTIFICATION_BACKGROUND_CONTENTS_NAVIGATED, 182 183 // The background contents were closed by someone invoking window.close() 184 // or the parent application was uninstalled. 185 // The source is the parent profile, and the details are the 186 // BackgroundContents. 187 NOTIFICATION_BACKGROUND_CONTENTS_CLOSED, 188 189 // The background contents is being deleted. The source is the 190 // parent Profile, and the details are the BackgroundContents being deleted. 191 NOTIFICATION_BACKGROUND_CONTENTS_DELETED, 192 193 // The background contents has crashed. The source is the parent Profile, 194 // and the details are the BackgroundContents. 195 NOTIFICATION_BACKGROUND_CONTENTS_TERMINATED, 196 197 // The background contents associated with a hosted app has changed (either 198 // a new background contents has been created, or an existing background 199 // contents has closed). The source is the parent Profile, and the details 200 // are the BackgroundContentsService. 201 NOTIFICATION_BACKGROUND_CONTENTS_SERVICE_CHANGED, 202 203 // Chrome has entered/exited background mode. The source is the 204 // BackgroundModeManager and the details are a boolean value which is set to 205 // true if Chrome is now in background mode. 206 NOTIFICATION_BACKGROUND_MODE_CHANGED, 207 208 // This is sent when a login prompt is shown. The source is the 209 // Source<NavigationController> for the tab in which the prompt is shown. 210 // Details are a LoginNotificationDetails which provide the LoginHandler 211 // that should be given authentication. 212 NOTIFICATION_AUTH_NEEDED, 213 214 // This is sent when authentication credentials have been supplied (either 215 // by the user or by an automation service), but before we've actually 216 // received another response from the server. The source is the 217 // Source<NavigationController> for the tab in which the prompt was shown. 218 // Details are an AuthSuppliedLoginNotificationDetails which provide the 219 // LoginHandler that should be given authentication as well as the supplied 220 // username and password. 221 NOTIFICATION_AUTH_SUPPLIED, 222 223 // This is sent when an authentication request has been dismissed without 224 // supplying credentials (either by the user or by an automation service). 225 // The source is the Source<NavigationController> for the tab in which the 226 // prompt was shown. Details are a LoginNotificationDetails which provide 227 // the LoginHandler that should be cancelled. 228 NOTIFICATION_AUTH_CANCELLED, 229 230 // History ----------------------------------------------------------------- 231 232 // Sent when a history service has finished loading. The source is the 233 // profile that the history service belongs to, and the details is the 234 // HistoryService. 235 NOTIFICATION_HISTORY_LOADED, 236 237 // Sent when a URL has been added or modified. This is used by the in-memory 238 // URL database and the InMemoryURLIndex (both used by autocomplete) to track 239 // changes to the main history system. 240 // 241 // The source is the profile owning the history service that changed, and 242 // the details is history::URLsModifiedDetails that lists the modified or 243 // added URLs. 244 NOTIFICATION_HISTORY_URLS_MODIFIED, 245 246 // Sent when the user visits a URL. 247 // 248 // The source is the profile owning the history service that changed, and 249 // the details is history::URLVisitedDetails. 250 NOTIFICATION_HISTORY_URL_VISITED, 251 252 // Sent when one or more URLs are deleted. 253 // 254 // The source is the profile owning the history service that changed, and 255 // the details is history::URLsDeletedDetails that lists the deleted URLs. 256 NOTIFICATION_HISTORY_URLS_DELETED, 257 258 // Sent when a keyword search term is updated. The source is the Profile and 259 // the details is history::KeywordSearchUpdatedDetails. 260 NOTIFICATION_HISTORY_KEYWORD_SEARCH_TERM_UPDATED, 261 262 // Sent when a keyword search term is deleted. The source is the Profile and 263 // the details is history::KeywordSearchDeletedDetails. 264 NOTIFICATION_HISTORY_KEYWORD_SEARCH_TERM_DELETED, 265 266 // Sent by history when the favicon of a URL changes. The source is the 267 // profile, and the details is FaviconChangedDetails (see 268 // chrome/browser/favicon/favicon_changed_details.h). 269 NOTIFICATION_FAVICON_CHANGED, 270 271 // Sent by FaviconTabHelper when a tab's favicon has been successfully 272 // updated. The details are a bool indicating whether the 273 // NavigationEntry's favicon URL has changed since the previous 274 // NOTIFICATION_FAVICON_UPDATED notification. The details are true if 275 // there was no previous NOTIFICATION_FAVICON_UPDATED notification for the 276 // current NavigationEntry. 277 NOTIFICATION_FAVICON_UPDATED, 278 279 // Profiles ----------------------------------------------------------------- 280 281 // Sent after a Profile has been created. This notification is sent both for 282 // normal and OTR profiles. 283 // The details are none and the source is the new profile. 284 NOTIFICATION_PROFILE_CREATED, 285 286 // Sent after a Profile has been added to ProfileManager. 287 // The details are none and the source is the new profile. 288 NOTIFICATION_PROFILE_ADDED, 289 290 // Sent early in the process of destroying a Profile, at the time a user 291 // initiates the deletion of a profile versus the much later time when the 292 // profile object is actually destroyed (use NOTIFICATION_PROFILE_DESTROYED). 293 // The details are none and the source is a Profile*. 294 NOTIFICATION_PROFILE_DESTRUCTION_STARTED, 295 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, 300 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, 304 305 // TopSites ---------------------------------------------------------------- 306 307 // Sent by TopSites when it finishes loading. The source is the profile the 308 // details the TopSites. 309 NOTIFICATION_TOP_SITES_LOADED, 310 311 // Sent by TopSites when the either one of the most visited urls changed, or 312 // one of the images changes. The source is the TopSites, the details not 313 // used. 314 NOTIFICATION_TOP_SITES_CHANGED, 315 316 // Task Manager ------------------------------------------------------------ 317 318 // Sent when a renderer process is notified of new v8 heap statistics. The 319 // source is the ID of the renderer process, and the details are a 320 // V8HeapStatsDetails object. 321 NOTIFICATION_RENDERER_V8_HEAP_STATS_COMPUTED, 322 323 // Non-history storage services -------------------------------------------- 324 325 // Sent when a TemplateURL is removed from the model. The source is the 326 // Profile, and the details the id of the TemplateURL being removed. 327 NOTIFICATION_TEMPLATE_URL_REMOVED, 328 329 // The state of a web resource has been changed. A resource may have been 330 // added, removed, or altered. Source is WebResourceService, and the 331 // details are NoDetails. 332 NOTIFICATION_PROMO_RESOURCE_STATE_CHANGED, 333 334 // A safe browsing database update completed. Source is the 335 // SafeBrowsingService and the details are a bool indicating whether the 336 // update was successful. 337 NOTIFICATION_SAFE_BROWSING_UPDATE_COMPLETE, 338 339 // Autocomplete ------------------------------------------------------------ 340 341 // Sent by the autocomplete controller when done. The source is the 342 // AutocompleteController, the details not used. 343 NOTIFICATION_AUTOCOMPLETE_CONTROLLER_RESULT_READY, 344 345 // This is sent when an item of the Omnibox popup is selected. The source 346 // is the profile. 347 NOTIFICATION_OMNIBOX_OPENED_URL, 348 349 // This is sent from Instant when the omnibox focus state changes. 350 NOTIFICATION_OMNIBOX_FOCUS_CHANGED, 351 352 // Printing ---------------------------------------------------------------- 353 354 // Notification from PrintJob that an event occurred. It can be that a page 355 // finished printing or that the print job failed. Details is 356 // PrintJob::EventDetails. Source is a PrintJob. 357 NOTIFICATION_PRINT_JOB_EVENT, 358 359 // Sent when a PrintJob has been released. 360 // Source is the WebContents that holds the print job. 361 NOTIFICATION_PRINT_JOB_RELEASED, 362 363 // Shutdown ---------------------------------------------------------------- 364 365 // Sent when WM_ENDSESSION has been received, after the browsers have been 366 // closed but before browser process has been shutdown. The source/details 367 // are all source and no details. 368 NOTIFICATION_SESSION_END, 369 370 // User Scripts ------------------------------------------------------------ 371 372 // Sent when there are new user scripts available. The details are a 373 // pointer to SharedMemory containing the new scripts. 374 NOTIFICATION_USER_SCRIPTS_UPDATED, 375 376 // Extensions -------------------------------------------------------------- 377 378 // Sent when a CrxInstaller finishes. Source is the CrxInstaller that 379 // finished. The details are the extension which was installed. 380 NOTIFICATION_CRX_INSTALLER_DONE, 381 382 // Sent when the known installed extensions have all been loaded. In 383 // testing scenarios this can happen multiple times if extensions are 384 // unloaded and reloaded. The source is a Profile. 385 NOTIFICATION_EXTENSIONS_READY, 386 387 // DEPRECATED: Use ExtensionRegistry::AddObserver instead. 388 // 389 // Sent when a new extension is loaded. The details are an Extension, and 390 // the source is a Profile. 391 NOTIFICATION_EXTENSION_LOADED_DEPRECATED, 392 393 // An error occured while attempting to load an extension. The details are a 394 // string with details about why the load failed. 395 NOTIFICATION_EXTENSION_LOAD_ERROR, 396 397 // Sent when an extension is enabled. Under most circumstances, listeners 398 // will want to use NOTIFICATION_EXTENSION_LOADED_DEPRECATED. This 399 // notification is only 400 // fired when the "Enable" button is hit in the extensions tab. The details 401 // are an Extension, and the source is a Profile. 402 NOTIFICATION_EXTENSION_ENABLED, 403 404 // Sent when attempting to load a new extension, but they are disabled. The 405 // details are an Extension*, and the source is a Profile*. 406 NOTIFICATION_EXTENSION_UPDATE_DISABLED, 407 408 // Sent when an extension's permissions change. The details are an 409 // UpdatedExtensionPermissionsInfo, and the source is a Profile. 410 NOTIFICATION_EXTENSION_PERMISSIONS_UPDATED, 411 412 // DEPRECATED: Use ExtensionRegistry::AddObserver instead. 413 // 414 // Sent when new extensions are installed, or existing extensions are updated. 415 // The details are an InstalledExtensionInfo, and the source is a Profile. 416 NOTIFICATION_EXTENSION_INSTALLED_DEPRECATED, 417 418 // An error occured during extension install. The details are a string with 419 // details about why the install failed. 420 NOTIFICATION_EXTENSION_INSTALL_ERROR, 421 422 // DEPRECATED: Use ExtensionRegistry::AddObserver instead. 423 // 424 // Sent when an extension has been uninstalled. The details are an Extension, 425 // and the source is a Profile. 426 NOTIFICATION_EXTENSION_UNINSTALLED_DEPRECATED, 427 428 // Sent when an extension uninstall is not allowed because the extension is 429 // not user manageable. The details are an Extension, and the source is a 430 // Profile. 431 NOTIFICATION_EXTENSION_UNINSTALL_NOT_ALLOWED, 432 433 // DEPRECATED: Use ExtensionRegistry::AddObserver instead. 434 // 435 // Sent when an extension is unloaded. This happens when an extension is 436 // uninstalled or disabled. The details are an UnloadedExtensionInfo, and 437 // the source is a Profile. 438 // 439 // Note that when this notification is sent, ExtensionService has already 440 // removed the extension from its internal state. 441 NOTIFICATION_EXTENSION_UNLOADED_DEPRECATED, 442 443 // Sent when an Extension object is removed from ExtensionService. This 444 // can happen when an extension is uninstalled, upgraded, or blacklisted, 445 // including all cases when the Extension is deleted. The details are an 446 // Extension, and the source is a Profile. 447 NOTIFICATION_EXTENSION_REMOVED, 448 449 // Sent after a new ExtensionHost is created. The details are 450 // an ExtensionHost* and the source is a Profile*. 451 NOTIFICATION_EXTENSION_HOST_CREATED, 452 453 // Sent before an ExtensionHost is destroyed. The details are 454 // an ExtensionHost* and the source is a Profile*. 455 NOTIFICATION_EXTENSION_HOST_DESTROYED, 456 457 // Sent by an ExtensionHost when it has finished its initial page load, 458 // including any external resources. 459 // The details are an ExtensionHost* and the source is a Profile*. 460 NOTIFICATION_EXTENSION_HOST_DID_STOP_LOADING, 461 462 // Sent by an ExtensionHost when its render view requests closing through 463 // window.close(). The details are an ExtensionHost* and the source is a 464 // Profile*. 465 NOTIFICATION_EXTENSION_HOST_VIEW_SHOULD_CLOSE, 466 467 // Sent when extension render process ends (whether it crashes or closes). 468 // The details are an ExtensionHost* and the source is a Profile*. Not sent 469 // during browser shutdown. 470 NOTIFICATION_EXTENSION_PROCESS_TERMINATED, 471 472 // Sent when a background page is ready so other components can load. 473 NOTIFICATION_EXTENSION_BACKGROUND_PAGE_READY, 474 475 // Sent when a browser action's state has changed. The source is the 476 // ExtensionAction* that changed. The details are the Profile* that the 477 // browser action belongs to. 478 NOTIFICATION_EXTENSION_BROWSER_ACTION_UPDATED, 479 480 // Sent when the count of page actions has changed. Note that some of them 481 // may not apply to the current page. The source is a LocationBar*. There 482 // are no details. 483 NOTIFICATION_EXTENSION_PAGE_ACTION_COUNT_CHANGED, 484 485 // Sent when a browser action's visibility has changed. The source is the 486 // ExtensionPrefs* that changed, and the details are a std::string with the 487 // extension's ID. 488 NOTIFICATION_EXTENSION_BROWSER_ACTION_VISIBILITY_CHANGED, 489 490 // Sent when a page action's visibility has changed. The source is the 491 // ExtensionAction* that changed. The details are a WebContents*. 492 NOTIFICATION_EXTENSION_PAGE_ACTION_VISIBILITY_CHANGED, 493 494 // Sent when a system indicator action's state has changed. The source is the 495 // Profile* that the browser action belongs to. The details are the 496 // ExtensionAction* that changed. 497 NOTIFICATION_EXTENSION_SYSTEM_INDICATOR_UPDATED, 498 499 // Sent when an extension command has been removed. The source is the profile 500 // and the details is a std::pair of two std::string objects (an extension ID 501 // and the name of the command being removed). 502 NOTIFICATION_EXTENSION_COMMAND_REMOVED, 503 504 // Sent when an extension command has been added. The source is the profile 505 // and the details is a std::pair of two std::string objects (an extension ID 506 // and the name of the command being added). 507 NOTIFICATION_EXTENSION_COMMAND_ADDED, 508 509 // Sent when an extension command shortcut for a browser action is activated 510 // on Mac. The source is the profile and the details is a std::pair of a 511 // std::string containing an extension ID and a gfx::NativeWindow for the 512 // associated window. 513 NOTIFICATION_EXTENSION_COMMAND_BROWSER_ACTION_MAC, 514 515 // Sent when an extension command shortcut for a page action is activated 516 // on Mac. The source is the profile and the details is a std::pair of a 517 // std::string containing an extension ID and a gfx::NativeWindow for the 518 // associated window. 519 NOTIFICATION_EXTENSION_COMMAND_PAGE_ACTION_MAC, 520 521 // A new extension RenderViewHost has been registered. The details are 522 // the RenderViewHost*. 523 NOTIFICATION_EXTENSION_VIEW_REGISTERED, 524 525 // An extension RenderViewHost has been unregistered. The details are 526 // the RenderViewHost*. 527 NOTIFICATION_EXTENSION_VIEW_UNREGISTERED, 528 529 // Sent by an extension to notify the browser about the results of a unit 530 // test. 531 NOTIFICATION_EXTENSION_TEST_PASSED, 532 NOTIFICATION_EXTENSION_TEST_FAILED, 533 534 // Sent by extension test javascript code, typically in a browser test. The 535 // sender is a std::string representing the extension id, and the details 536 // are a std::string with some message. This is particularly useful when you 537 // want to have C++ code wait for javascript code to do something. 538 NOTIFICATION_EXTENSION_TEST_MESSAGE, 539 540 // Sent when an bookmarks extensions API function was successfully invoked. 541 // The source is the id of the extension that invoked the function, and the 542 // details are a pointer to the const BookmarksFunction in question. 543 NOTIFICATION_EXTENSION_BOOKMARKS_API_INVOKED, 544 545 // Sent when a downloads extensions API event is fired. The source is an 546 // ExtensionDownloadsEventRouter::NotificationSource, and the details is a 547 // std::string containing json. Used for testing. 548 NOTIFICATION_EXTENSION_DOWNLOADS_EVENT, 549 550 // Sent when an omnibox extension has sent back omnibox suggestions. The 551 // source is the profile, and the details are an 552 // extensions::api::omnibox::SendSuggestions::Params object. 553 NOTIFICATION_EXTENSION_OMNIBOX_SUGGESTIONS_READY, 554 555 // Sent when the user accepts the input in an extension omnibox keyword 556 // session. The source is the profile. 557 NOTIFICATION_EXTENSION_OMNIBOX_INPUT_ENTERED, 558 559 // Sent when an omnibox extension has updated the default suggestion. The 560 // source is the profile. 561 NOTIFICATION_EXTENSION_OMNIBOX_DEFAULT_SUGGESTION_CHANGED, 562 563 // Sent when the extension updater starts checking for updates to installed 564 // extensions. The source is a Profile, and there are no details. 565 NOTIFICATION_EXTENSION_UPDATING_STARTED, 566 567 // The extension updater found an update and will attempt to download and 568 // install it. The source is a Profile, and the details are an 569 // extensions::UpdateDetails object with the extension id and version of the 570 // found update. 571 NOTIFICATION_EXTENSION_UPDATE_FOUND, 572 573 // Upgrade notifications --------------------------------------------------- 574 575 // Sent when Chrome believes an update has been installed and available for 576 // long enough with the user shutting down to let it take effect. See 577 // upgrade_detector.cc for details on how long it waits. No details are 578 // expected. 579 NOTIFICATION_UPGRADE_RECOMMENDED, 580 581 // Sent when a critical update has been installed. No details are expected. 582 NOTIFICATION_CRITICAL_UPGRADE_INSTALLED, 583 584 // Sent when the current install is outdated. No details are expected. 585 NOTIFICATION_OUTDATED_INSTALL, 586 587 // Sent when the current install is outdated and auto-update (AU) is disabled. 588 // No details are expected. 589 NOTIFICATION_OUTDATED_INSTALL_NO_AU, 590 591 // Software incompatibility notifications ---------------------------------- 592 593 // Sent when Chrome has finished compiling the list of loaded modules (and 594 // other modules of interest). No details are expected. 595 NOTIFICATION_MODULE_LIST_ENUMERATED, 596 597 // Sent when Chrome is done scanning the module list and when the user has 598 // acknowledged the module incompatibility. No details are expected. 599 NOTIFICATION_MODULE_INCOMPATIBILITY_BADGE_CHANGE, 600 601 // Content Settings -------------------------------------------------------- 602 603 // Sent when content settings change. The source is a HostContentSettings 604 // object, the details are ContentSettingsNotificationsDetails. 605 NOTIFICATION_CONTENT_SETTINGS_CHANGED, 606 607 // Sent when the collect cookies dialog is shown. The source is a 608 // TabSpecificContentSettings object, there are no details. 609 NOTIFICATION_COLLECTED_COOKIES_SHOWN, 610 611 // Sent when a non-default setting in the the notification content settings 612 // map has changed. The source is the DesktopNotificationService, the 613 // details are None. 614 NOTIFICATION_DESKTOP_NOTIFICATION_SETTINGS_CHANGED, 615 616 // Sent when content settings change for a tab. The source is a 617 // content::WebContents object, the details are None. 618 NOTIFICATION_WEB_CONTENT_SETTINGS_CHANGED, 619 620 // Sync -------------------------------------------------------------------- 621 622 // The sync service has finished the datatype configuration process. The 623 // source is the ProfileSyncService object of the Profile. There are no 624 // details. 625 NOTIFICATION_SYNC_CONFIGURE_DONE, 626 627 // A service is requesting a sync datatype refresh for the current profile. 628 // The details value is a const syncer::ModelTypeSet. 629 // If the payload map is empty, it should be treated as an invalidation for 630 // all enabled types. This is used by session sync. 631 NOTIFICATION_SYNC_REFRESH_LOCAL, 632 633 // External notification requesting a sync datatype refresh for the current 634 // profile. The details value is a const syncer::ObjectIdInvalidationMap. 635 // If the payload map is empty, it should be treated as an invalidation for 636 // all enabled types. This is used for notifications on Android. 637 NOTIFICATION_SYNC_REFRESH_REMOTE, 638 639 // The session service has been saved. This notification type is only sent 640 // if there were new SessionService commands to save, and not for no-op save 641 // operations. 642 NOTIFICATION_SESSION_SERVICE_SAVED, 643 644 // A foreign session has been updated. If a new tab page is open, the 645 // foreign session handler needs to update the new tab page's foreign 646 // session data. 647 NOTIFICATION_FOREIGN_SESSION_UPDATED, 648 649 // Foreign sessions has been disabled. New tabs should not display foreign 650 // session data. 651 NOTIFICATION_FOREIGN_SESSION_DISABLED, 652 653 // All tab metadata has been loaded from disk asynchronously. 654 // Sent on the UI thread. 655 // The source is the Profile. There are no details. 656 NOTIFICATION_SESSION_RESTORE_COMPLETE, 657 658 // Cookies ----------------------------------------------------------------- 659 660 // Sent when a cookie changes. The source is a Profile object, the details 661 // are a ChromeCookieDetails object. 662 NOTIFICATION_COOKIE_CHANGED, 663 664 // Download Notifications -------------------------------------------------- 665 666 // Sent when a download is initiated. It is possible that the download will 667 // not actually begin due to the DownloadRequestLimiter cancelling it 668 // prematurely. 669 // The source is the corresponding RenderViewHost. There are no details. 670 NOTIFICATION_DOWNLOAD_INITIATED, 671 672 // Misc -------------------------------------------------------------------- 673 674 // Sent when PerformanceMonitor has finished all the initial steps of data 675 // collection and has begun passively observing. The source is the 676 // PerformanceMonitor*. No details are expected. 677 NOTIFICATION_PERFORMANCE_MONITOR_INITIALIZED, 678 679 #if defined(OS_CHROMEOS) 680 // Sent when a chromium os user logs in. 681 // The details are a chromeos::User object. 682 NOTIFICATION_LOGIN_USER_CHANGED, 683 684 // Sent immediately after the logged-in user's profile is ready. 685 // The details are a Profile object. 686 NOTIFICATION_LOGIN_USER_PROFILE_PREPARED, 687 688 // Sent when the chromium session of a particular user is started. 689 // If this is a new user on the machine this will not be sent until a profile 690 // picture has been selected, unlike NOTIFICATION_LOGIN_USER_CHANGED which is 691 // sent immediately after the user has logged in. This will be sent again if 692 // the browser crashes and restarts. 693 // The details are a chromeos::User object. 694 NOTIFICATION_SESSION_STARTED, 695 696 // Sent when user image is updated. 697 NOTIFICATION_LOGIN_USER_IMAGE_CHANGED, 698 699 // Sent by UserManager when a profile image download has been completed. 700 NOTIFICATION_PROFILE_IMAGE_UPDATED, 701 702 // Sent by UserManager when profile image download has failed or user has the 703 // default profile image or no profile image at all. No details are expected. 704 NOTIFICATION_PROFILE_IMAGE_UPDATE_FAILED, 705 706 // Sent when a chromium os user attempts to log in. The source is 707 // all and the details are AuthenticationNotificationDetails. 708 NOTIFICATION_LOGIN_AUTHENTICATION, 709 710 // Sent when a network error message is displayed on the WebUI login screen. 711 // First paint event of this fires NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE. 712 NOTIFICATION_LOGIN_NETWORK_ERROR_SHOWN, 713 714 // Sent when the specific part of login/lock WebUI is considered to be 715 // visible. That moment is tracked as the first paint event after one of the: 716 // NOTIFICATION_LOGIN_NETWORK_ERROR_SHOWN 717 // 718 // Possible series of notifications: 719 // 1. Boot into fresh OOBE 720 // NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE 721 // 2. Boot into user pods list (normal boot). Same for lock screen. 722 // NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE 723 // 3. Boot into GAIA sign in UI (user pods display disabled or no users): 724 // if no network is connected or flaky network 725 // (NOTIFICATION_LOGIN_NETWORK_ERROR_SHOWN + 726 // NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE) 727 // NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE 728 // 4. Boot into retail mode 729 // NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE 730 // 5. Boot into kiosk mode 731 // NOTIFICATION_KIOSK_APP_LAUNCHED 732 NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE, 733 734 // Sent when proxy dialog is closed. 735 NOTIFICATION_LOGIN_PROXY_CHANGED, 736 737 // Send when kiosk auto-launch warning screen is visible. 738 NOTIFICATION_KIOSK_AUTOLAUNCH_WARNING_VISIBLE, 739 740 // Send when kiosk auto-launch warning screen had completed. 741 NOTIFICATION_KIOSK_AUTOLAUNCH_WARNING_COMPLETED, 742 743 // Send when enable consumer kiosk warning screen is visible. 744 NOTIFICATION_KIOSK_ENABLE_WARNING_VISIBLE, 745 746 // Send when consumer kiosk has been enabled. 747 NOTIFICATION_KIOSK_ENABLED, 748 749 // Send when enable consumer kiosk warning screen had completed. 750 NOTIFICATION_KIOSK_ENABLE_WARNING_COMPLETED, 751 752 // Sent when kiosk app list is loaded in UI. 753 NOTIFICATION_KIOSK_APPS_LOADED, 754 755 // Sent when a kiosk app is launched. 756 NOTIFICATION_KIOSK_APP_LAUNCHED, 757 758 // Sent when the user list has changed. 759 NOTIFICATION_USER_LIST_CHANGED, 760 761 // Sent when the screen lock state has changed. The source is 762 // ScreenLocker and the details is a bool specifing that the 763 // screen is locked. When details is a false, the source object 764 // is being deleted, so the receiver shouldn't use the screen locker 765 // object. 766 NOTIFICATION_SCREEN_LOCK_STATE_CHANGED, 767 768 // Sent by DeviceSettingsService to indicate that the ownership status 769 // changed. If you can, please use DeviceSettingsService::Observer instead. 770 // Other singleton-based services can't use that because Observer 771 // unregistration is impossible due to unpredictable deletion order. 772 NOTIFICATION_OWNERSHIP_STATUS_CHANGED, 773 774 // Sent by SIM unlock dialog when it has finished with the process of 775 // updating RequirePin setting. RequirePin setting might have been changed 776 // to a new value or update might have been canceled. 777 // In either case notification is sent and details contain a bool 778 // that represents current value. 779 NOTIFICATION_REQUIRE_PIN_SETTING_CHANGE_ENDED, 780 781 // Sent by SIM unlock dialog when it has finished the EnterPin or 782 // EnterPuk dialog, either because the user cancelled, or entered a 783 // PIN or PUK. 784 NOTIFICATION_ENTER_PIN_ENDED, 785 #endif 786 787 #if defined(TOOLKIT_VIEWS) 788 // Sent when a bookmark's context menu is shown. Used to notify 789 // tests that the context menu has been created and shown. 790 NOTIFICATION_BOOKMARK_CONTEXT_MENU_SHOWN, 791 792 // Notification that the nested loop using during tab dragging has returned. 793 // Used for testing. 794 NOTIFICATION_TAB_DRAG_LOOP_DONE, 795 #endif 796 797 // Send when a context menu is shown. Used to notify tests that the context 798 // menu has been created and shown. 799 NOTIFICATION_RENDER_VIEW_CONTEXT_MENU_SHOWN, 800 801 // Sent when the Instant Controller determines whether an Instant tab supports 802 // the Instant API or not. 803 NOTIFICATION_INSTANT_TAB_SUPPORT_DETERMINED, 804 805 // Sent when the Instant Controller determines whether the NTP supports the 806 // Instant API or not. 807 NOTIFICATION_INSTANT_NTP_SUPPORT_DETERMINED, 808 809 // Sent when the CaptivePortalService checks if we're behind a captive portal. 810 // The Source is the Profile the CaptivePortalService belongs to, and the 811 // Details are a Details<CaptivePortalService::CheckResults>. 812 NOTIFICATION_CAPTIVE_PORTAL_CHECK_RESULT, 813 814 // Sent when the applications in the NTP app launcher have been reordered. 815 // The details, if not NoDetails, is the std::string ID of the extension that 816 // was moved. 817 NOTIFICATION_EXTENSION_LAUNCHER_REORDERED, 818 819 // Sent when an app is installed and an NTP has been shown. Source is the 820 // WebContents that was shown, and Details is the string ID of the extension 821 // which was installed. 822 NOTIFICATION_APP_INSTALLED_TO_NTP, 823 824 // Similar to NOTIFICATION_APP_INSTALLED_TO_NTP but used to nofity ash AppList 825 // about installed app. Source is the profile in which the app is installed 826 // and Details is the string ID of the extension. 827 NOTIFICATION_APP_INSTALLED_TO_APPLIST, 828 829 #if defined(USE_ASH) 830 // Sent when wallpaper show animation has finished. 831 NOTIFICATION_WALLPAPER_ANIMATION_FINISHED, 832 833 // Sent when the Ash session has started. In its current incantation this is 834 // generated when the metro app has connected to the browser IPC channel. 835 // Used only on Windows. 836 NOTIFICATION_ASH_SESSION_STARTED, 837 // Sent when the Ash session ended. Currently this means the metro app exited. 838 // Used only on Windows. 839 NOTIFICATION_ASH_SESSION_ENDED, 840 #endif 841 842 // Protocol Handler Registry ----------------------------------------------- 843 // Sent when a ProtocolHandlerRegistry is changed. The source is the profile. 844 NOTIFICATION_PROTOCOL_HANDLER_REGISTRY_CHANGED, 845 846 // Sent when the cached profile info has changed. 847 NOTIFICATION_PROFILE_CACHED_INFO_CHANGED, 848 849 // Sent when the cached profile has finished writing a profile picture to 850 // disk. 851 NOTIFICATION_PROFILE_CACHE_PICTURE_SAVED, 852 853 // Sent when the browser enters or exits fullscreen mode. 854 NOTIFICATION_FULLSCREEN_CHANGED, 855 856 // Sent when the FullscreenController changes, confirms, or denies mouse lock. 857 // The source is the browser's FullscreenController, no details. 858 NOTIFICATION_MOUSE_LOCK_CHANGED, 859 860 // Sent by the PluginPrefs when there is a change of plugin enable/disable 861 // status. The source is the profile. 862 NOTIFICATION_PLUGIN_ENABLE_STATUS_CHANGED, 863 864 // Panels Notifications. The Panels are small browser windows near the bottom 865 // of the screen. 866 // Sent when all nonblocking bounds animations are finished across panels. 867 // Used only in unit testing. 868 NOTIFICATION_PANEL_BOUNDS_ANIMATIONS_FINISHED, 869 870 // Sent when panel gains/loses focus. 871 // The source is the Panel, no details. 872 // Used only in unit testing. 873 NOTIFICATION_PANEL_CHANGED_ACTIVE_STATUS, 874 875 // Sent when panel is minimized/restored/shows title only etc. 876 // The source is the Panel, no details. 877 NOTIFICATION_PANEL_CHANGED_EXPANSION_STATE, 878 879 // Sent when panel window size is known. This is for platforms where the 880 // window creation is async and size of the window only becomes known later. 881 // Used only in unit testing. 882 NOTIFICATION_PANEL_WINDOW_SIZE_KNOWN, 883 884 // Sent when panel app icon is loaded. 885 // Used only in unit testing. 886 NOTIFICATION_PANEL_APP_ICON_LOADED, 887 888 // Sent when panel collection get updated. 889 // The source is the PanelCollection, no details. 890 // Used only in coordination with notification balloons. 891 NOTIFICATION_PANEL_COLLECTION_UPDATED, 892 893 // Sent when panel is closed. 894 // The source is the Panel, no details. 895 NOTIFICATION_PANEL_CLOSED, 896 897 // Sent when a global error has changed and the error UI should update it 898 // self. The source is a Source<Profile> containing the profile for the 899 // error. The detail is a GlobalError object that has changed or NULL if 900 // all error UIs should update. 901 NOTIFICATION_GLOBAL_ERRORS_CHANGED, 902 903 // BrowsingDataRemover ---------------------------------------------------- 904 // Sent on the UI thread after BrowsingDataRemover has removed browsing data 905 // but before it has notified its explicit observers. The source is a 906 // Source<Profile> containing the profile in which browsing data was removed, 907 // and the detail is a BrowsingDataRemover::NotificationDetail containing the 908 // removal mask and the start of the removal timeframe with which 909 // BrowsingDataRemove::Remove was called. 910 NOTIFICATION_BROWSING_DATA_REMOVED, 911 912 // The user accepted or dismissed a SSL client authentication request. 913 // The source is a Source<net::HttpNetworkSession>. Details is a 914 // (std::pair<net::SSLCertRequestInfo*, net::X509Certificate*>). 915 NOTIFICATION_SSL_CLIENT_AUTH_CERT_SELECTED, 916 917 // Session Restore -------------------------------------------------------- 918 919 // Sent when synchronous (startup) session restore completes. No details or 920 // source. 921 NOTIFICATION_SESSION_RESTORE_DONE, 922 923 // Note:- 924 // Currently only Content and Chrome define and use notifications. 925 // Custom notifications not belonging to Content and Chrome should start 926 // from here. 927 NOTIFICATION_CHROME_END, 928 }; 929 930 } // namespace chrome 931 932 #endif // CHROME_BROWSER_CHROME_NOTIFICATION_TYPES_H_ 933