1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680
|
// Copyright 2025 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/chrome_browser_interface_binders_webui_parts.h"
#include "ash/constants/ash_features.h"
#include "ash/public/mojom/hid_preserving_bluetooth_state_controller.mojom.h"
#include "ash/webui/annotator/mojom/untrusted_annotator.mojom.h"
#include "ash/webui/annotator/untrusted_annotator_ui.h"
#include "ash/webui/boca_receiver_app_ui/boca_receiver_untrusted_ui.h"
#include "ash/webui/boca_receiver_app_ui/mojom/boca_receiver.mojom.h"
#include "ash/webui/boca_ui/boca_ui.h"
#include "ash/webui/boca_ui/mojom/boca.mojom.h"
#include "ash/webui/camera_app_ui/camera_app_helper.mojom.h"
#include "ash/webui/camera_app_ui/camera_app_ui.h"
#include "ash/webui/color_internals/color_internals_ui.h"
#include "ash/webui/color_internals/mojom/color_internals.mojom.h"
#include "ash/webui/common/mojom/accelerator_fetcher.mojom.h"
#include "ash/webui/common/mojom/accessibility_features.mojom.h"
#include "ash/webui/common/mojom/sea_pen.mojom.h"
#include "ash/webui/common/mojom/shortcut_input_provider.mojom.h"
#include "ash/webui/common/mojom/webui_syslog_emitter.mojom.h"
#include "ash/webui/connectivity_diagnostics/connectivity_diagnostics_ui.h"
#include "ash/webui/demo_mode_app_ui/demo_mode_app_untrusted_ui.h"
#include "ash/webui/diagnostics_ui/diagnostics_ui.h"
#include "ash/webui/diagnostics_ui/mojom/input_data_provider.mojom.h"
#include "ash/webui/diagnostics_ui/mojom/network_health_provider.mojom.h"
#include "ash/webui/diagnostics_ui/mojom/system_data_provider.mojom.h"
#include "ash/webui/diagnostics_ui/mojom/system_routine_controller.mojom.h"
#include "ash/webui/eche_app_ui/eche_app_ui.h"
#include "ash/webui/eche_app_ui/mojom/eche_app.mojom.h"
#include "ash/webui/file_manager/file_manager_ui.h"
#include "ash/webui/file_manager/mojom/file_manager.mojom.h"
#include "ash/webui/files_internals/files_internals_ui.h"
#include "ash/webui/files_internals/mojom/files_internals.mojom.h"
#include "ash/webui/firmware_update_ui/firmware_update_app_ui.h"
#include "ash/webui/firmware_update_ui/mojom/firmware_update.mojom.h"
#include "ash/webui/focus_mode/focus_mode_ui.h"
#include "ash/webui/focus_mode/mojom/focus_mode.mojom.h"
#include "ash/webui/graduation/graduation_ui.h"
#include "ash/webui/graduation/mojom/graduation_ui.mojom.h"
#include "ash/webui/growth_internals/growth_internals.mojom.h"
#include "ash/webui/growth_internals/growth_internals_ui.h"
#include "ash/webui/help_app_ui/help_app_ui.h"
#include "ash/webui/help_app_ui/help_app_ui.mojom.h"
#include "ash/webui/help_app_ui/help_app_untrusted_ui.h"
#include "ash/webui/help_app_ui/search/search.mojom.h"
#include "ash/webui/mall/mall_ui.h"
#include "ash/webui/mall/mall_ui.mojom.h"
#include "ash/webui/media_app_ui/media_app_guest_ui.h"
#include "ash/webui/media_app_ui/media_app_ui.h"
#include "ash/webui/media_app_ui/media_app_ui.mojom.h"
#include "ash/webui/media_app_ui/media_app_ui_untrusted.mojom.h"
#include "ash/webui/multidevice_debug/proximity_auth_ui.h"
#include "ash/webui/os_feedback_ui/mojom/os_feedback_ui.mojom.h"
#include "ash/webui/os_feedback_ui/os_feedback_ui.h"
#include "ash/webui/os_feedback_ui/os_feedback_untrusted_ui.h"
#include "ash/webui/personalization_app/mojom/personalization_app.mojom.h"
#include "ash/webui/personalization_app/personalization_app_ui.h"
#include "ash/webui/personalization_app/search/search.mojom.h"
#include "ash/webui/print_management/print_management_ui.h"
#include "ash/webui/print_preview_cros/mojom/destination_provider.mojom.h"
#include "ash/webui/print_preview_cros/print_preview_cros_ui.h"
#include "ash/webui/projector_app/mojom/untrusted_projector.mojom.h"
#include "ash/webui/projector_app/untrusted_projector_ui.h"
#include "ash/webui/recorder_app_ui/mojom/recorder_app.mojom.h"
#include "ash/webui/recorder_app_ui/recorder_app_ui.h"
#include "ash/webui/sanitize_ui/mojom/sanitize_ui.mojom.h"
#include "ash/webui/sanitize_ui/sanitize_ui.h"
#include "ash/webui/scanner_feedback_ui/mojom/scanner_feedback_ui.mojom.h"
#include "ash/webui/scanner_feedback_ui/scanner_feedback_untrusted_ui.h"
#include "ash/webui/scanning/mojom/scanning.mojom.h"
#include "ash/webui/scanning/scanning_ui.h"
#include "ash/webui/shimless_rma/shimless_rma.h"
#include "ash/webui/shortcut_customization_ui/backend/search/search.mojom.h"
#include "ash/webui/shortcut_customization_ui/mojom/shortcut_customization.mojom.h"
#include "ash/webui/shortcut_customization_ui/shortcut_customization_app_ui.h"
#include "ash/webui/vc_background_ui/vc_background_ui.h"
#include "chrome/browser/chromeos/upload_office_to_cloud/upload_office_to_cloud.h"
#include "chrome/browser/nearby_sharing/common/nearby_share_features.h"
#include "chrome/browser/ui/webui/ash/add_supervision/add_supervision.mojom.h"
#include "chrome/browser/ui/webui/ash/add_supervision/add_supervision_ui.h"
#include "chrome/browser/ui/webui/ash/app_install/app_install.mojom.h"
#include "chrome/browser/ui/webui/ash/app_install/app_install_dialog.h"
#include "chrome/browser/ui/webui/ash/app_install/app_install_ui.h"
#include "chrome/browser/ui/webui/ash/audio/audio.mojom.h"
#include "chrome/browser/ui/webui/ash/audio/audio_ui.h"
#include "chrome/browser/ui/webui/ash/bluetooth/bluetooth_pairing_dialog.h"
#include "chrome/browser/ui/webui/ash/borealis_installer/borealis_installer.mojom.h"
#include "chrome/browser/ui/webui/ash/borealis_installer/borealis_installer_ui.h"
#include "chrome/browser/ui/webui/ash/cloud_upload/cloud_upload.mojom.h"
#include "chrome/browser/ui/webui/ash/cloud_upload/cloud_upload_dialog.h"
#include "chrome/browser/ui/webui/ash/cloud_upload/cloud_upload_ui.h"
#include "chrome/browser/ui/webui/ash/crostini_installer/crostini_installer.mojom.h"
#include "chrome/browser/ui/webui/ash/crostini_installer/crostini_installer_ui.h"
#include "chrome/browser/ui/webui/ash/crostini_upgrader/crostini_upgrader.mojom.h"
#include "chrome/browser/ui/webui/ash/crostini_upgrader/crostini_upgrader_ui.h"
#include "chrome/browser/ui/webui/ash/curtain_ui/remote_maintenance_curtain_ui.h"
#include "chrome/browser/ui/webui/ash/dlp_internals/dlp_internals.mojom.h"
#include "chrome/browser/ui/webui/ash/dlp_internals/dlp_internals_ui.h"
#include "chrome/browser/ui/webui/ash/emoji/emoji_picker.mojom.h"
#include "chrome/browser/ui/webui/ash/emoji/emoji_search_proxy.h"
#include "chrome/browser/ui/webui/ash/emoji/emoji_ui.h"
#include "chrome/browser/ui/webui/ash/emoji/new_window_proxy.mojom.h"
#include "chrome/browser/ui/webui/ash/enterprise_reporting/enterprise_reporting.mojom.h"
#include "chrome/browser/ui/webui/ash/enterprise_reporting/enterprise_reporting_ui.h"
#include "chrome/browser/ui/webui/ash/extended_updates/extended_updates.mojom.h"
#include "chrome/browser/ui/webui/ash/extended_updates/extended_updates_ui.h"
#include "chrome/browser/ui/webui/ash/floating_workspace/floating_workspace_ui.h"
#include "chrome/browser/ui/webui/ash/internet/internet_config_dialog.h"
#include "chrome/browser/ui/webui/ash/internet/internet_detail_dialog.h"
#include "chrome/browser/ui/webui/ash/launcher_internals/launcher_internals.mojom.h"
#include "chrome/browser/ui/webui/ash/launcher_internals/launcher_internals_ui.h"
#include "chrome/browser/ui/webui/ash/lobster/lobster.mojom.h"
#include "chrome/browser/ui/webui/ash/lock_screen_reauth/lock_screen_network_ui.h"
#include "chrome/browser/ui/webui/ash/login/mojom/screens_factory.mojom.h"
#include "chrome/browser/ui/webui/ash/login/oobe_ui.h"
#include "chrome/browser/ui/webui/ash/mako/mako_ui.h"
#include "chrome/browser/ui/webui/ash/manage_mirrorsync/manage_mirrorsync.mojom.h"
#include "chrome/browser/ui/webui/ash/manage_mirrorsync/manage_mirrorsync_ui.h"
#include "chrome/browser/ui/webui/ash/multidevice_setup/multidevice_setup_dialog.h"
#include "chrome/browser/ui/webui/ash/network_ui/network_ui.h"
#include "chrome/browser/ui/webui/ash/office_fallback/office_fallback.mojom.h"
#include "chrome/browser/ui/webui/ash/office_fallback/office_fallback_ui.h"
#include "chrome/browser/ui/webui/ash/parent_access/parent_access_ui.h"
#include "chrome/browser/ui/webui/ash/parent_access/parent_access_ui.mojom.h"
#include "chrome/browser/ui/webui/ash/sensor_info/sensor.mojom.h"
#include "chrome/browser/ui/webui/ash/sensor_info/sensor_info_ui.h"
#include "chrome/browser/ui/webui/ash/set_time/set_time_ui.h"
#include "chrome/browser/ui/webui/ash/settings/os_settings_ui.h"
#include "chrome/browser/ui/webui/ash/settings/pages/apps/mojom/app_notification_handler.mojom.h"
#include "chrome/browser/ui/webui/ash/settings/pages/apps/mojom/app_parental_controls_handler.mojom.h"
#include "chrome/browser/ui/webui/ash/settings/pages/date_time/mojom/date_time_handler.mojom.h"
#include "chrome/browser/ui/webui/ash/settings/pages/device/display_settings/display_settings_provider.mojom.h"
#include "chrome/browser/ui/webui/ash/settings/pages/device/input_device_settings/input_device_settings_provider.mojom.h"
#include "chrome/browser/ui/webui/ash/settings/pages/files/mojom/google_drive_handler.mojom.h"
#include "chrome/browser/ui/webui/ash/settings/pages/files/mojom/one_drive_handler.mojom.h"
#include "chrome/browser/ui/webui/ash/settings/pages/people/mojom/graduation_handler.mojom.h"
#include "chrome/browser/ui/webui/ash/settings/pages/privacy/mojom/app_permission_handler.mojom.h"
#include "chrome/browser/ui/webui/ash/settings/pages/search/mojom/magic_boost_handler.mojom.h"
#include "chrome/browser/ui/webui/ash/settings/search/mojom/search.mojom.h"
#include "chrome/browser/ui/webui/ash/settings/search/mojom/user_action_recorder.mojom.h"
#include "chrome/browser/ui/webui/ash/skyvault/local_files_migration.mojom.h"
#include "chrome/browser/ui/webui/ash/skyvault/local_files_migration_ui.h"
#include "chrome/browser/ui/webui/ash/smb_shares/smb_credentials_dialog.h"
#include "chrome/browser/ui/webui/ash/smb_shares/smb_share_dialog.h"
#include "chrome/browser/ui/webui/ash/vm/vm.mojom.h"
#include "chrome/browser/ui/webui/ash/vm/vm_ui.h"
#include "chrome/browser/ui/webui/feedback/feedback_ui.h"
#include "chrome/browser/ui/webui/nearby_share/nearby_share.mojom.h"
#include "chrome/browser/ui/webui/nearby_share/nearby_share_dialog_ui.h"
#include "chrome/common/chrome_features.h"
#include "chromeos/ash/components/audio/public/mojom/cros_audio_config.mojom.h"
#include "chromeos/ash/components/emoji/emoji_search.mojom.h"
#include "chromeos/ash/components/local_search_service/public/mojom/index.mojom.h"
#include "chromeos/ash/services/auth_factor_config/public/mojom/auth_factor_config.mojom.h"
#include "chromeos/ash/services/bluetooth_config/public/mojom/cros_bluetooth_config.mojom.h"
#include "chromeos/ash/services/cellular_setup/public/mojom/cellular_setup.mojom.h"
#include "chromeos/ash/services/cellular_setup/public/mojom/esim_manager.mojom.h"
#include "chromeos/ash/services/connectivity/public/mojom/passpoint.mojom.h"
#include "chromeos/ash/services/hotspot_config/public/mojom/cros_hotspot_config.mojom.h"
#include "chromeos/ash/services/ime/public/mojom/input_method_user_data.mojom.h"
#include "chromeos/ash/services/multidevice_setup/multidevice_setup_service.h"
#include "chromeos/ash/services/multidevice_setup/public/mojom/multidevice_setup.mojom.h"
#include "chromeos/ash/services/nearby/public/mojom/nearby_share_settings.mojom.h" // nogncheck crbug.com/1125897
#include "chromeos/ash/services/orca/public/mojom/orca_service.mojom.h"
#include "chromeos/components/print_management/mojom/printing_manager.mojom.h" // nogncheck
#include "chromeos/constants/chromeos_features.h"
#include "chromeos/crosapi/mojom/structured_metrics_service.mojom.h"
#include "chromeos/services/network_config/public/mojom/cros_network_config.mojom.h" // nogncheck
#include "chromeos/services/network_health/public/mojom/network_diagnostics.mojom.h" // nogncheck
#include "chromeos/services/network_health/public/mojom/network_health.mojom.h" // nogncheck
#include "content/public/browser/web_ui_browser_interface_broker_registry.h"
#include "content/public/browser/web_ui_controller_interface_binder.h"
#include "media/capture/video/chromeos/mojom/camera_app.mojom.h"
#include "mojo/public/cpp/bindings/binder_map.h"
#if !defined(OFFICIAL_BUILD)
#include "ash/webui/sample_system_web_app_ui/mojom/sample_system_web_app_ui.mojom.h"
#include "ash/webui/sample_system_web_app_ui/sample_system_web_app_ui.h"
#include "ash/webui/sample_system_web_app_ui/sample_system_web_app_untrusted_ui.h"
#include "ash/webui/status_area_internals/mojom/status_area_internals.mojom.h"
#include "ash/webui/status_area_internals/status_area_internals_ui.h"
#endif // defined(OFFICIAL_BUILD)
namespace chrome::internal {
using content::RegisterWebUIControllerInterfaceBinder;
void PopulateChromeWebUIFrameBindersPartsCros(
mojo::BinderMapWithContext<content::RenderFrameHost*>* map,
content::RenderFrameHost* render_frame_host) {
RegisterWebUIControllerInterfaceBinder<dlp_internals::mojom::PageHandler,
policy::DlpInternalsUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::mojom::HidPreservingBluetoothStateController,
ash::settings::OSSettingsUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::file_manager::mojom::PageHandlerFactory,
ash::file_manager::FileManagerUI>(map);
RegisterWebUIControllerInterfaceBinder<
add_supervision::mojom::AddSupervisionHandler, ash::AddSupervisionUI>(
map);
RegisterWebUIControllerInterfaceBinder<
app_management::mojom::PageHandlerFactory, ash::settings::OSSettingsUI>(
map);
RegisterWebUIControllerInterfaceBinder<
ash::settings::mojom::UserActionRecorder, ash::settings::OSSettingsUI>(
map);
RegisterWebUIControllerInterfaceBinder<ash::settings::mojom::SearchHandler,
ash::settings::OSSettingsUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::personalization_app::mojom::SearchHandler,
ash::settings::OSSettingsUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::settings::app_notification::mojom::AppNotificationsHandler,
ash::settings::OSSettingsUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::settings::app_permission::mojom::AppPermissionsHandler,
ash::settings::OSSettingsUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::settings::app_parental_controls::mojom::AppParentalControlsHandler,
ash::settings::OSSettingsUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::settings::mojom::InputDeviceSettingsProvider,
ash::settings::OSSettingsUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::settings::mojom::DisplaySettingsProvider,
ash::settings::OSSettingsUI>(map);
RegisterWebUIControllerInterfaceBinder<ash::common::mojom::AcceleratorFetcher,
ash::settings::OSSettingsUI>(map);
RegisterWebUIControllerInterfaceBinder<ash::common::mojom::WebUiSyslogEmitter,
ash::OobeUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::common::mojom::ShortcutInputProvider, ash::settings::OSSettingsUI,
ash::ShortcutCustomizationAppUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::settings::graduation::mojom::GraduationHandler,
ash::settings::OSSettingsUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::cellular_setup::mojom::CellularSetup, ash::settings::OSSettingsUI>(
map);
RegisterWebUIControllerInterfaceBinder<chromeos::auth::mojom::InSessionAuth,
ash::settings::OSSettingsUI>(map);
RegisterWebUIControllerInterfaceBinder<ash::auth::mojom::AuthFactorConfig,
ash::settings::OSSettingsUI,
ash::OobeUI>(map);
RegisterWebUIControllerInterfaceBinder<ash::auth::mojom::RecoveryFactorEditor,
ash::settings::OSSettingsUI>(map);
RegisterWebUIControllerInterfaceBinder<ash::auth::mojom::PinFactorEditor,
ash::settings::OSSettingsUI,
ash::OobeUI>(map);
RegisterWebUIControllerInterfaceBinder<ash::auth::mojom::PasswordFactorEditor,
ash::settings::OSSettingsUI,
ash::OobeUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::cellular_setup::mojom::ESimManager, ash::settings::OSSettingsUI,
ash::NetworkUI, ash::OobeUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::borealis_installer::mojom::PageHandlerFactory,
ash::BorealisInstallerUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::crostini_installer::mojom::PageHandlerFactory,
ash::CrostiniInstallerUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::crostini_upgrader::mojom::PageHandlerFactory,
ash::CrostiniUpgraderUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::multidevice_setup::mojom::MultiDeviceSetup, ash::OobeUI,
ash::multidevice::ProximityAuthUI,
ash::multidevice_setup::MultiDeviceSetupDialogUI>(map);
RegisterWebUIControllerInterfaceBinder<
parent_access_ui::mojom::ParentAccessUiHandler, ash::ParentAccessUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::multidevice_setup::mojom::PrivilegedHostDeviceSetter, ash::OobeUI>(
map);
RegisterWebUIControllerInterfaceBinder<
chromeos::network_config::mojom::CrosNetworkConfig,
ash::InternetConfigDialogUI, ash::InternetDetailDialogUI, ash::NetworkUI,
ash::OobeUI, ash::settings::OSSettingsUI, ash::LockScreenNetworkUI,
ash::FloatingWorkspaceUI, ash::ShimlessRMADialogUI>(map);
RegisterWebUIControllerInterfaceBinder<
chromeos::connectivity::mojom::PasspointService,
ash::InternetDetailDialogUI, ash::NetworkUI, ash::settings::OSSettingsUI>(
map);
RegisterWebUIControllerInterfaceBinder<
chromeos::printing::printing_manager::mojom::PrintingMetadataProvider,
ash::printing::printing_manager::PrintManagementUI>(map);
RegisterWebUIControllerInterfaceBinder<
chromeos::printing::printing_manager::mojom::PrintManagementHandler,
ash::printing::printing_manager::PrintManagementUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::help_app::mojom::PageHandlerFactory, ash::HelpAppUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::local_search_service::mojom::Index, ash::HelpAppUI>(map);
RegisterWebUIControllerInterfaceBinder<ash::help_app::mojom::SearchHandler,
ash::HelpAppUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::eche_app::mojom::SignalingMessageExchanger,
ash::eche_app::EcheAppUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::eche_app::mojom::SystemInfoProvider, ash::eche_app::EcheAppUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::eche_app::mojom::AccessibilityProvider, ash::eche_app::EcheAppUI>(
map);
RegisterWebUIControllerInterfaceBinder<ash::eche_app::mojom::UidGenerator,
ash::eche_app::EcheAppUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::eche_app::mojom::NotificationGenerator, ash::eche_app::EcheAppUI>(
map);
RegisterWebUIControllerInterfaceBinder<
ash::eche_app::mojom::DisplayStreamHandler, ash::eche_app::EcheAppUI>(
map);
RegisterWebUIControllerInterfaceBinder<
ash::eche_app::mojom::StreamOrientationObserver,
ash::eche_app::EcheAppUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::eche_app::mojom::ConnectionStatusObserver, ash::eche_app::EcheAppUI>(
map);
RegisterWebUIControllerInterfaceBinder<
ash::eche_app::mojom::KeyboardLayoutHandler, ash::eche_app::EcheAppUI>(
map);
RegisterWebUIControllerInterfaceBinder<
ash::media_app_ui::mojom::PageHandlerFactory, ash::MediaAppUI>(map);
RegisterWebUIControllerInterfaceBinder<
chromeos::network_health::mojom::NetworkHealthService, ash::NetworkUI,
ash::ConnectivityDiagnosticsUI>(map);
RegisterWebUIControllerInterfaceBinder<
chromeos::network_diagnostics::mojom::NetworkDiagnosticsRoutines,
ash::NetworkUI, ash::ConnectivityDiagnosticsUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::diagnostics::mojom::InputDataProvider, ash::DiagnosticsDialogUI>(
map);
RegisterWebUIControllerInterfaceBinder<
ash::diagnostics::mojom::NetworkHealthProvider, ash::DiagnosticsDialogUI>(
map);
RegisterWebUIControllerInterfaceBinder<
ash::diagnostics::mojom::SystemDataProvider, ash::DiagnosticsDialogUI>(
map);
RegisterWebUIControllerInterfaceBinder<
ash::diagnostics::mojom::SystemRoutineController,
ash::DiagnosticsDialogUI>(map);
RegisterWebUIControllerInterfaceBinder<ash::vm::mojom::VmDiagnosticsProvider,
ash::VmUI>(map);
RegisterWebUIControllerInterfaceBinder<ash::scanning::mojom::ScanService,
ash::ScanningUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::common::mojom::AccessibilityFeatures, ash::ScanningUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::os_feedback_ui::mojom::HelpContentProvider, ash::OSFeedbackUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::os_feedback_ui::mojom::FeedbackServiceProvider, ash::OSFeedbackUI>(
map);
RegisterWebUIControllerInterfaceBinder<
ash::shimless_rma::mojom::ShimlessRmaService, ash::ShimlessRMADialogUI>(
map);
RegisterWebUIControllerInterfaceBinder<
ash::shortcut_customization::mojom::AcceleratorConfigurationProvider,
ash::ShortcutCustomizationAppUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::shortcut_customization::mojom::SearchHandler,
ash::ShortcutCustomizationAppUI>(map);
if (ash::features::IsPrinterPreviewCrosAppEnabled()) {
RegisterWebUIControllerInterfaceBinder<
ash::printing::print_preview::mojom::DestinationProvider,
ash::printing::print_preview::PrintPreviewCrosUI>(map);
}
RegisterWebUIControllerInterfaceBinder<
emoji_picker::mojom::PageHandlerFactory, ash::EmojiUI>(map);
if (base::FeatureList::IsEnabled(
ash::features::kImeSystemEmojiPickerMojoSearch)) {
RegisterWebUIControllerInterfaceBinder<emoji_search::mojom::EmojiSearch,
ash::EmojiUI>(map);
}
RegisterWebUIControllerInterfaceBinder<sensor::mojom::PageHandlerFactory,
ash::SensorInfoUI>(map);
RegisterWebUIControllerInterfaceBinder<
enterprise_reporting::mojom::PageHandlerFactory,
ash::reporting::EnterpriseReportingUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::personalization_app::mojom::WallpaperProvider,
ash::personalization_app::PersonalizationAppUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::personalization_app::mojom::AmbientProvider,
ash::personalization_app::PersonalizationAppUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::personalization_app::mojom::ThemeProvider,
ash::personalization_app::PersonalizationAppUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::personalization_app::mojom::UserProvider,
ash::personalization_app::PersonalizationAppUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::personalization_app::mojom::KeyboardBacklightProvider,
ash::personalization_app::PersonalizationAppUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::personalization_app::mojom::SeaPenProvider,
ash::personalization_app::PersonalizationAppUI,
ash::vc_background_ui::VcBackgroundUI>(map);
RegisterWebUIControllerInterfaceBinder<
launcher_internals::mojom::PageHandlerFactory, ash::LauncherInternalsUI>(
map);
RegisterWebUIControllerInterfaceBinder<
ash::bluetooth_config::mojom::CrosBluetoothConfig,
ash::BluetoothPairingDialogUI, ash::settings::OSSettingsUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::audio_config::mojom::CrosAudioConfig, ash::settings::OSSettingsUI>(
map);
RegisterWebUIControllerInterfaceBinder<
ash::hotspot_config::mojom::CrosHotspotConfig,
ash::settings::OSSettingsUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::ime::mojom::InputMethodUserDataService, ash::settings::OSSettingsUI>(
map);
if (chromeos::features::IsOrcaEnabled() ||
chromeos::features::IsMahiEnabled()) {
RegisterWebUIControllerInterfaceBinder<
ash::settings::magic_boost_handler::mojom::PageHandlerFactory,
ash::settings::OSSettingsUI>(map);
}
RegisterWebUIControllerInterfaceBinder<audio::mojom::PageHandlerFactory,
ash::AudioUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::extended_updates::mojom::PageHandlerFactory,
ash::extended_updates::ExtendedUpdatesUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::firmware_update::mojom::UpdateProvider, ash::FirmwareUpdateAppUI>(
map);
RegisterWebUIControllerInterfaceBinder<
ash::firmware_update::mojom::SystemUtils, ash::FirmwareUpdateAppUI>(map);
if (ash::features::IsDriveFsMirroringEnabled()) {
RegisterWebUIControllerInterfaceBinder<
ash::manage_mirrorsync::mojom::PageHandlerFactory,
ash::ManageMirrorSyncUI>(map);
}
Profile* profile =
Profile::FromBrowserContext(render_frame_host->GetBrowserContext());
if (chromeos::IsEligibleAndEnabledUploadOfficeToCloud(profile)) {
RegisterWebUIControllerInterfaceBinder<
ash::cloud_upload::mojom::PageHandlerFactory,
ash::cloud_upload::CloudUploadUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::office_fallback::mojom::PageHandlerFactory,
ash::office_fallback::OfficeFallbackUI>(map);
}
if (ash::cloud_upload::
IsMicrosoftOfficeOneDriveIntegrationAllowedAndOdfsInstalled(
profile)) {
RegisterWebUIControllerInterfaceBinder<
ash::settings::one_drive::mojom::PageHandlerFactory,
ash::settings::OSSettingsUI>(map);
}
RegisterWebUIControllerInterfaceBinder<
ash::settings::google_drive::mojom::PageHandlerFactory,
ash::settings::OSSettingsUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::settings::date_time::mojom::PageHandlerFactory,
ash::settings::OSSettingsUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::screens_factory::mojom::ScreensFactory, ash::OobeUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::app_install::mojom::PageHandlerFactory,
ash::app_install::AppInstallDialogUI>(map);
RegisterWebUIControllerInterfaceBinder<
new_window_proxy::mojom::NewWindowProxy, ash::EmojiUI>(map);
if (base::FeatureList::IsEnabled(features::kSkyVault) &&
base::FeatureList::IsEnabled(features::kSkyVaultV2)) {
RegisterWebUIControllerInterfaceBinder<
policy::local_user_files::mojom::PageHandlerFactory,
policy::local_user_files::LocalFilesMigrationUI>(map);
}
if (ash::features::IsGrowthInternalsEnabled()) {
RegisterWebUIControllerInterfaceBinder<ash::growth::mojom::PageHandler,
ash::GrowthInternalsUI>(map);
}
// Because Nearby Share is only currently supported for the primary profile,
// we should only register binders in that scenario. However, we don't want to
// plumb the profile through to this function, so we 1) ensure that
// NearbyShareDialogUI will not be created for non-primary profiles, and 2)
// rely on the BindInterface implementation of OSSettingsUI to ensure that no
// Nearby Share receivers are bound.
RegisterWebUIControllerInterfaceBinder<
nearby_share::mojom::NearbyShareSettings, ash::settings::OSSettingsUI,
nearby_share::NearbyShareDialogUI>(map);
RegisterWebUIControllerInterfaceBinder<nearby_share::mojom::ContactManager,
ash::settings::OSSettingsUI,
nearby_share::NearbyShareDialogUI>(
map);
RegisterWebUIControllerInterfaceBinder<nearby_share::mojom::DiscoveryManager,
nearby_share::NearbyShareDialogUI>(
map);
RegisterWebUIControllerInterfaceBinder<nearby_share::mojom::ReceiveManager,
ash::settings::OSSettingsUI>(map);
RegisterWebUIControllerInterfaceBinder<ash::focus_mode::mojom::TrackProvider,
ash::FocusModeUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::sanitize_ui::mojom::SettingsResetter, ash::SanitizeDialogUI>(map);
if (ash::features::IsGraduationEnabled()) {
RegisterWebUIControllerInterfaceBinder<
ash::graduation_ui::mojom::GraduationUiHandler,
ash::graduation::GraduationUI>(map);
}
}
void PopulateChromeWebUIFrameInterfaceBrokersTrustedPartsCros(
content::WebUIBrowserInterfaceBrokerRegistry& registry) {
registry.ForWebUI<ash::RecorderAppUI>()
.Add<ash::recorder_app::mojom::PageHandler>()
.Add<color_change_listener::mojom::PageHandler>()
.Add<crosapi::mojom::StructuredMetricsService>();
registry.ForWebUI<ash::CameraAppUI>()
.Add<color_change_listener::mojom::PageHandler>()
.Add<cros::mojom::CameraAppDeviceProvider>()
.Add<ash::camera_app::mojom::CameraAppHelper>();
registry.ForWebUI<ash::ColorInternalsUI>()
.Add<color_change_listener::mojom::PageHandler>()
.Add<ash::color_internals::mojom::WallpaperColorsHandler>();
registry.ForWebUI<ash::FilesInternalsUI>()
.Add<ash::mojom::files_internals::PageHandler>();
registry.ForWebUI<ash::file_manager::FileManagerUI>()
.Add<color_change_listener::mojom::PageHandler>();
registry.ForWebUI<ash::smb_dialog::SmbShareDialogUI>()
.Add<color_change_listener::mojom::PageHandler>();
registry.ForWebUI<ash::smb_dialog::SmbCredentialsDialogUI>()
.Add<color_change_listener::mojom::PageHandler>();
registry.ForWebUI<FeedbackUI>()
.Add<color_change_listener::mojom::PageHandler>();
registry.ForWebUI<ash::MallUI>().Add<ash::mall::mojom::PageHandler>();
#if !defined(OFFICIAL_BUILD)
registry.ForWebUI<ash::SampleSystemWebAppUI>()
.Add<ash::mojom::sample_swa::PageHandlerFactory>()
.Add<color_change_listener::mojom::PageHandler>();
registry.ForWebUI<ash::StatusAreaInternalsUI>()
.Add<ash::mojom::status_area_internals::PageHandler>();
#endif // !defined(OFFICIAL_BUILD)
}
void PopulateChromeWebUIFrameInterfaceBrokersUntrustedPartsCros(
content::WebUIBrowserInterfaceBrokerRegistry& registry) {
registry.ForWebUI<ash::boca::BocaUI>()
.Add<ash::boca::mojom::BocaPageHandlerFactory>()
.Add<color_change_listener::mojom::PageHandler>();
registry.ForWebUI<ash::BocaReceiverUntrustedUI>()
.Add<ash::boca_receiver::mojom::UntrustedPageHandlerFactory>();
if (chromeos::features::IsOrcaEnabled() ||
ash::features::IsLobsterEnabled()) {
registry.ForWebUI<ash::MakoUntrustedUI>()
.Add<ash::orca::mojom::EditorClient>()
.Add<lobster::mojom::UntrustedLobsterPageHandler>();
}
registry.ForWebUI<ash::DemoModeAppUntrustedUI>()
.Add<ash::mojom::demo_mode::UntrustedPageHandlerFactory>();
registry.ForWebUI<ash::UntrustedAnnotatorUI>()
.Add<ash::annotator::mojom::UntrustedAnnotatorPageHandlerFactory>();
registry.ForWebUI<ash::UntrustedProjectorUI>()
.Add<color_change_listener::mojom::PageHandler>()
.Add<ash::projector::mojom::UntrustedProjectorPageHandlerFactory>();
registry.ForWebUI<ash::feedback::OsFeedbackUntrustedUI>()
.Add<color_change_listener::mojom::PageHandler>();
registry.ForWebUI<ash::MediaAppGuestUI>()
.Add<color_change_listener::mojom::PageHandler>()
.Add<ash::media_app_ui::mojom::UntrustedServiceFactory>();
registry.ForWebUI<ash::HelpAppUntrustedUI>()
.Add<color_change_listener::mojom::PageHandler>();
registry.ForWebUI<ash::ScannerFeedbackUntrustedUI>()
.Add<color_change_listener::mojom::PageHandler>()
.Add<ash::mojom::scanner_feedback_ui::PageHandler>();
#if !defined(OFFICIAL_BUILD)
registry.ForWebUI<ash::SampleSystemWebAppUntrustedUI>()
.Add<ash::mojom::sample_swa::UntrustedPageInterfacesFactory>();
#endif // !defined(OFFICIAL_BUILD)
}
} // namespace chrome::internal
|