1 # Copyright 2014 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 import("//build/config/crypto.gni") 6 import("//build/config/features.gni") 7 import("//build/config/ui.gni") 8 import("//components/nacl/nacl_defines.gni") 9 # //build/config/android/rules.gni imports //tools/grit/grit_rule.gni, which 10 # produces a conflict for the "grit" template so we have to only include one. 11 if (is_android) { 12 import("//build/config/android/rules.gni") 13 } else { 14 import("//tools/grit/grit_rule.gni") 15 } 16 17 about_credits_file = "$target_gen_dir/about_credits.html" 18 additional_modules_list_file = 19 "$root_gen_dir/chrome/browser/internal/additional_modules_list.txt" 20 21 gypi_values = exec_script( 22 "//build/gypi_to_gn.py", 23 [ rebase_path("../chrome_browser.gypi") ], 24 "scope", 25 [ "../chrome_browser.gypi" ]) 26 27 static_library("browser") { 28 configs += [ "//build/config/compiler:wexit_time_destructors" ] 29 defines = [] 30 sources = [] 31 libs = [] 32 ldflags = [] 33 34 # iOS/non-iOS shared deps. New dependencies should generally be added in the 35 # non-iOS deps below. 36 public_deps = [ 37 "//components/autofill/core/browser", 38 "//content/public/browser", 39 "//sql", 40 "//sync", 41 ] 42 deps = [ 43 "//base/allocator", 44 "//chrome:extra_resources", 45 "//chrome:resources", 46 "//chrome:strings", 47 "//chrome/app:generated_resources_map", 48 "//chrome/app/resources:platform_locale_settings", 49 "//chrome/app/theme:theme_resources", 50 "//chrome/browser/history:in_memory_url_index_cache_proto", 51 "//chrome/browser/net:cert_logger_proto", 52 "//chrome/browser/net:probe_message_proto", 53 "//chrome/browser/ui", 54 "//chrome/common", 55 "//chrome/common/net", 56 "//components/autofill/core/browser", 57 "//components/bookmarks/browser", 58 "//components/captive_portal", 59 "//components/cloud_devices/common", 60 "//components/component_updater", 61 "//components/content_settings/core/browser", 62 "//components/content_settings/core/common", 63 "//components/crx_file", 64 "//components/data_reduction_proxy/browser", 65 "//components/domain_reliability", 66 "//components/favicon_base", 67 "//components/favicon/core", 68 "//components/feedback", 69 "//components/gcm_driver", 70 "//components/google/core/browser", 71 "//components/history/core/browser", 72 "//components/history/core/common", 73 "//components/infobars/core", 74 "//components/invalidation", 75 "//components/metrics:gpu", 76 "//components/metrics:net", 77 "//components/metrics:profiler", 78 "//components/metrics/proto:proto", 79 "//components/native_app_window", 80 "//components/navigation_metrics", 81 "//components/network_time", 82 "//components/omaha_query_params", 83 "//components/omnibox", 84 "//components/os_crypt", 85 "//components/password_manager/core/browser", 86 "//components/password_manager/core/common", 87 "//components/policy:policy_component", 88 "//components/precache/core", 89 "//components/query_parser", 90 "//components/rappor", 91 "//components/renderer_context_menu", 92 "//components/search", 93 "//components/search_engines", 94 "//components/search_provider_logos", 95 "//components/signin/core/browser", 96 "//components/startup_metric_utils", 97 "//components/strings", 98 "//components/suggestions", 99 "//components/sync_driver", 100 "//components/translate/core/browser", 101 "//components/translate/core/common", 102 "//components/url_fixer", 103 "//components/user_prefs", 104 "//components/webdata/common", 105 "//content/public/browser", 106 "//content/public/common", 107 "//courgette:courgette_lib", 108 "//crypto", 109 "//google_apis", 110 "//gpu/config", 111 "//jingle:notifier", 112 "//skia", 113 "//sql", 114 "//sync", 115 "//third_party/cacheinvalidation", 116 "//third_party/icu", 117 "//third_party/libxml", 118 "//third_party/libjingle", 119 "//third_party/widevine/cdm:version_h", 120 "//third_party/zlib", 121 "//third_party/zlib:minizip", 122 "//third_party/zlib:zip", 123 "//ui/base", 124 "//ui/events", 125 "//ui/gfx", 126 "//ui/gfx/geometry", 127 "//ui/message_center", 128 "//ui/shell_dialogs", 129 "//ui/strings", 130 "//ui/resources", 131 ] 132 133 sources += rebase_path(gypi_values.chrome_browser_undo_sources, 134 ".", "//chrome") 135 136 if (!is_ios) { 137 sources += rebase_path(gypi_values.chrome_browser_non_ios_sources, 138 ".", "//chrome") 139 #TODO(GYP) Add these sources: 140 # # These files are generated by GRIT. 141 # '<(grit_out_dir)/grit/component_extension_resources_map.cc', 142 # '<(grit_out_dir)/grit/theme_resources_map.cc', 143 # '<(SHARED_INTERMEDIATE_DIR)/ui/resources/grit/ui_resources_map.cc', 144 # 145 # # This file is generated by 146 # # chrome/browser/metrics/variations/generate_resources_map.py 147 # '<(SHARED_INTERMEDIATE_DIR)/chrome/browser/metrics/variations/generated_resources_map.cc', 148 149 defines = nacl_defines 150 151 deps += [ 152 "//apps", 153 "//cc", 154 "//chrome/browser/devtools", 155 "//chrome/installer/util", 156 "//components/autofill/content/browser", 157 "//components/dom_distiller/content", 158 "//components/keyed_service/content", 159 "//components/navigation_interception", 160 "//components/password_manager/content/browser", 161 "//components/precache/content", 162 "//components/sessions", 163 "//components/storage_monitor", 164 "//components/translate/content/browser", 165 "//components/url_matcher", 166 "//components/visitedlink/browser", 167 "//components/visitedlink/common", 168 "//components/web_cache/browser", 169 "//components/web_modal", 170 "//content/app/resources", 171 "//media", 172 "//media/cast:net", 173 "//mojo/environment:chromium", 174 "//mojo/public/cpp/bindings", 175 "//mojo/public/js/bindings", 176 "//mojo/system", 177 "//net:extras", 178 "//net:net_with_v8", 179 "//storage/browser", 180 "//storage/common", 181 "//third_party/WebKit/public:resources", 182 "//third_party/expat", 183 "//third_party/leveldatabase", 184 "//third_party/libaddressinput", 185 "//third_party/libyuv", 186 "//third_party/npapi", 187 "//third_party/re2", 188 "//third_party/smhasher:cityhash", 189 "//third_party/webrtc/modules/desktop_capture", 190 "//ui/gl", 191 "//ui/surface", 192 "//ui/web_dialogs", 193 "//v8", 194 ## TODO(tonyg): Remove this dependency (crbug.com/280157). 195 #"../testing/perf/perf_test.gyp:*", TODO(GYP) 196 ] 197 } else { # iOS 198 sources += rebase_path(gypi_values.chrome_browser_ios_sources, 199 ".", "//chrome") 200 deps += [ 201 "//net", 202 ] 203 libs += [ 204 "CoreTelephony.framework", 205 "CoreText.framework", 206 "MobileCoreServices.framework", 207 "QuartzCore.framework", 208 ] 209 ldflags += [ "-weak_framework", "CoreImage" ] 210 } 211 212 if (is_win || is_mac) { 213 sources += rebase_path(gypi_values.chrome_browser_win_mac_sources, 214 ".", "//chrome") 215 } 216 if (!is_android && !is_ios && !is_chromeos && enable_configuration_policy) { 217 sources += [ 218 "net/disk_cache_dir_policy_handler.cc", 219 "net/disk_cache_dir_policy_handler.h", 220 ] 221 } 222 if (!is_android && !is_ios && enable_configuration_policy) { 223 sources += [ 224 "download/download_dir_policy_handler.cc", 225 "download/download_dir_policy_handler.h", 226 ] 227 } 228 if (is_mac) { 229 sources += rebase_path(gypi_values.chrome_browser_mac_sources, 230 ".", "//chrome") 231 deps += [ 232 #"app_shim" TODO(GYP) 233 #"browser_app_shim" TODO(GYP) 234 ] 235 } 236 if (!toolkit_views) { 237 deps -= [ "//components/native_app_window" ] 238 } 239 if (cld2_data_source == "component") { 240 sources += [ 241 "component_updater/cld_component_installer.cc", 242 "component_updater/cld_component_installer.h", 243 ] 244 } 245 if (enable_extensions) { 246 public_deps += [ "//chrome/browser/extensions" ] 247 deps += [ 248 "//chrome/browser/sync_file_system/drive_backend:sync_file_system_drive_proto", 249 "//chrome/common/extensions/api", 250 "//chrome/common/extensions/api:api_registration", 251 ] 252 sources += rebase_path(gypi_values.chrome_browser_extensions_sources, 253 ".", "//chrome") 254 } 255 if (enable_background) { 256 sources += rebase_path(gypi_values.chrome_browser_background_sources, 257 ".", "//chrome") 258 if (!use_aura || is_win) { 259 sources -= [ "background/background_mode_manager_aura.cc" ] 260 } 261 } 262 if (enable_task_manager) { 263 sources += rebase_path(gypi_values.chrome_browser_task_manager_sources, 264 ".", "//chrome") 265 } 266 if (enable_spellcheck) { 267 sources += rebase_path(gypi_values.chrome_browser_spellchecker_sources, 268 ".", "//chrome") 269 deps += [ "//third_party/hunspell" ] 270 } 271 if (enable_nacl) { 272 sources += rebase_path(gypi_values.chrome_browser_nacl_sources, 273 ".", "//chrome") 274 #deps += [ "//components/nacl:nacl_browser" ] TODO(GYP) 275 } 276 # ["debug_devtools==1", { TODO(GYP) 277 # "defines": [ 278 # "DEBUG_DEVTOOLS=1", 279 # }], 280 if (enable_configuration_policy) { 281 sources += rebase_path( 282 gypi_values.chrome_browser_policy_shared_with_ios_sources, 283 ".", "//chrome") 284 deps += [ 285 "//components/policy", 286 "//components/policy/proto", 287 ] 288 if (!is_ios) { 289 sources += rebase_path( 290 gypi_values.chrome_browser_policy_non_ios_sources, 291 ".", "//chrome") 292 } 293 if (!is_chromeos) { 294 sources += rebase_path( 295 gypi_values.chrome_browser_policy_shared_with_ios_not_chromeos_sources, 296 ".", "//chrome") 297 } 298 if (is_win || is_mac || is_desktop_linux) { 299 sources += rebase_path(gypi_values.chrome_browser_policy_desktop_sources, 300 ".", "//chrome") 301 } 302 if (!is_android && !is_ios) { # Non-mobile 303 deps += [ 304 "//chrome/browser/policy:path_parser", 305 ] 306 } 307 } else { 308 # Configuration policy disabled. 309 sources += rebase_path(gypi_values.chrome_browser_policy_disabled_sources, 310 ".", "//chrome") 311 } 312 313 if (enable_plugins) { 314 sources += rebase_path(gypi_values.chrome_browser_plugins_sources, 315 ".", "//chrome") 316 deps += [ 317 "//components/pdf/browser", 318 "//ppapi:ppapi_ipc", 319 "//third_party/adobe/flash:flapper_version_h", 320 ] 321 } 322 if (safe_browsing_mode != 0) { 323 sources += rebase_path( 324 gypi_values.chrome_browser_basic_safe_browsing_sources, 325 ".", "//chrome") 326 deps += [ 327 "//chrome/browser/safe_browsing:chunk_proto", 328 "//chrome/browser/safe_browsing:metadata_proto", 329 "//chrome/browser/safe_browsing:report_proto", 330 ] 331 if (safe_browsing_mode == 1) { 332 sources += rebase_path( 333 gypi_values.chrome_browser_full_safe_browsing_sources, 334 ".", "//chrome") 335 defines += [ "FULL_SAFE_BROWSING" ] 336 deps += [ 337 "//chrome/common/safe_browsing:proto", 338 ] 339 } else if (safe_browsing_mode == 2) { 340 defines += [ "MOBILE_SAFE_BROWSING" ] 341 } 342 } 343 344 if (is_linux) { 345 configs += [ "//build/config/linux:udev" ] 346 deps += [ "//device/media_transfer_protocol" ] 347 } 348 if (is_linux && !is_chromeos) { 349 deps += [ "//third_party/speech-dispatcher" ] 350 } 351 352 if (is_chromeos) { 353 sources += rebase_path(gypi_values.chrome_browser_chromeos_sources, 354 ".", "//chrome") 355 deps += [ 356 #"browser_chromeos", TODO(GYP) 357 ] 358 } else { 359 # Non-ChromeOS. 360 sources += rebase_path(gypi_values.chrome_browser_non_chromeos_sources, 361 ".", "//chrome") 362 } 363 364 if (use_cups) { 365 configs += [ "//printing:cups" ] 366 } 367 if (is_desktop_linux) { 368 sources += rebase_path(gypi_values.chrome_browser_gnome_keyring_sources, 369 ".", "//chrome") 370 configs += [ "//build/config/linux:gnome_keyring" ] 371 } 372 if (use_aura) { 373 sources += rebase_path(gypi_values.chrome_browser_aura_sources, 374 ".", "//chrome") 375 deps += [ 376 "//ui/aura", 377 "//ui/compositor", 378 "//ui/keyboard", 379 ] 380 } 381 if (ui_compositor_image_transport) { 382 deps += [ "//ui/gl" ] 383 } 384 385 if (use_ash) { 386 sources += rebase_path(gypi_values.chrome_browser_ash_sources, 387 ".", "//chrome") 388 } 389 390 if (use_x11) { 391 sources += rebase_path(gypi_values.chrome_browser_x11_sources, 392 ".", "//chrome") 393 if (!is_chromeos) { 394 configs += [ "//build/config/linux:xscrnsaver" ] 395 } 396 } 397 if (is_posix && !is_mac && !is_ios) { 398 sources += [ 399 "//chrome/app/chrome_crash_reporter_client.cc", 400 "//chrome/app/chrome_crash_reporter_client.h", 401 ] 402 deps += [ 403 "//components/crash/app", 404 "//components/crash/browser", 405 ] 406 } 407 if (use_nss_certs) { 408 sources += rebase_path(gypi_values.chrome_browser_nss_sources, 409 ".", "//chrome") 410 } 411 if (enable_notifications) { 412 sources += rebase_path(gypi_values.chrome_browser_notifications_sources, 413 ".", "//chrome") 414 if (!is_android) { 415 sources += rebase_path( 416 gypi_values.chrome_browser_non_android_notifications_sources, 417 ".", "//chrome") 418 } 419 } 420 if (enable_themes) { 421 sources += rebase_path(gypi_values.chrome_browser_themes_sources, 422 ".", "//chrome") 423 } 424 425 if (printing_mode != 0) { 426 # Some form of printing support. 427 sources += rebase_path(gypi_values.chrome_browser_basic_printing_sources, 428 ".", "//chrome") 429 deps += [ 430 "//printing", 431 ] 432 if (is_win) { 433 sources += rebase_path(gypi_values.chrome_browser_printing_emf_sources, 434 ".", "//chrome") 435 } 436 if (printing_mode == 1) { 437 # Full printing on top of the above. 438 sources += rebase_path(gypi_values.chrome_browser_full_printing_sources, 439 ".", "//chrome") 440 } else if (printing_mode == 2) { 441 # Partial-only printing support. 442 sources += rebase_path( 443 gypi_values.chrome_browser_basic_only_printing_sources, 444 ".", "//chrome") 445 } 446 } 447 if (enable_captive_portal_detection) { 448 sources += rebase_path(gypi_values.chrome_browser_captive_portal_sources, 449 ".", "//chrome") 450 } 451 if (enable_session_service) { 452 sources += rebase_path(gypi_values.chrome_browser_session_service_sources, 453 ".", "//chrome") 454 } 455 456 if (is_android || is_ios) { 457 # Mobile. 458 sources += rebase_path(gypi_values.chrome_browser_mobile_sources, 459 ".", "//chrome") 460 } else { 461 # Non-mobile. 462 sources += rebase_path(gypi_values.chrome_browser_non_mobile_sources, 463 ".", "//chrome") 464 deps += [ 465 "//device/core", 466 "//device/usb", 467 ] 468 } 469 470 if (is_android) { 471 sources += rebase_path(gypi_values.chrome_browser_android_sources, 472 ".", "//chrome") 473 deps += [ 474 ":jni_headers", 475 "//components/cdm/browser", 476 #"../components/components.gyp:web_contents_delegate_android", TODO(GYP) 477 ] 478 deps -= [ 479 "//third_party/libaddressinput", 480 "//components/feedback", 481 "//components/storage_monitor", 482 "//components/web_modal", 483 ] 484 } else { 485 sources += rebase_path(gypi_values.chrome_browser_non_android_sources, 486 ".", "//chrome") 487 } 488 489 if (is_mac) { 490 deps += [ 491 "//third_party/google_toolbox_for_mac", 492 #"../third_party/mozilla/mozilla.gyp:mozilla", TODO(GYP) 493 ] 494 libs += [ 495 "Accelerate.framework", 496 "AddressBook.framework", 497 "AudioUnit.framework", 498 "DiskArbitration.framework", 499 "IOKit.framework", 500 "ImageCaptureCore.framework", 501 "OpenGL.framework", 502 "QuartzCore.framework", 503 "SecurityInterface.framework", 504 ] 505 } 506 507 if (enable_rlz) { 508 sources += rebase_path(gypi_values.chrome_browser_rlz_sources, 509 ".", "//chrome") 510 deps += [ "//rlz:rlz_lib" ] 511 } 512 513 # TODO(GYP) 514 # Temporary fix to break the browser target into smaller chunks so it 515 # will link with goma builds. 516 #["OS=="win" and chromium_win_pch==0", { 517 # "msvs_shard": 4, 518 #}], 519 520 if (is_win) { 521 sources += rebase_path(gypi_values.chrome_browser_win_sources, 522 ".", "//chrome") 523 if (!is_chrome_branded) { 524 sources -= [ 525 "google/did_run_updater_win.cc", 526 "google/did_run_updater_win.h", 527 ] 528 } 529 public_deps += [ 530 "//ui/views", 531 "//ui/views/controls/webview", 532 ] 533 deps += [ 534 "//chrome:version_header", 535 "//chrome/installer/util:strings", 536 "//third_party/iaccessible2", 537 "//third_party/isimpledom", 538 "//third_party/wtl", 539 #"chrome_process_finder", TODO(GYP) 540 #"../chrome_elf/chrome_elf.gyp:chrome_elf", TODO(GYP) 541 #"../chrome_elf/chrome_elf.gyp:chrome_elf_constants", TODO(GYP) 542 #"../chrome_elf/chrome_elf.gyp:dll_hash", TODO(GYP) 543 #"../google_update/google_update.gyp:google_update", TODO(GYP) 544 #"../ui/metro_viewer/metro_viewer.gyp:metro_viewer_messages", TODO(GYP) 545 #"../win8/win8.gyp:metro_viewer", TODO(GYP) 546 ] 547 } else { 548 # Non-Windows. 549 sources += rebase_path(gypi_values.chrome_browser_non_win_sources, 550 ".", "//chrome") 551 if (toolkit_views) { 552 deps += [ 553 "//ui/views", 554 "//ui/views/controls/webview", 555 ] 556 # TODO(GYP) why is this needed? Very susicious. 557 # "include_dirs": [ 558 # "<(INTERMEDIATE_DIR)/chrome", 559 # ], 560 } 561 } 562 563 if (is_linux) { 564 sources += rebase_path(gypi_values.chrome_browser_linux_sources, 565 ".", "//chrome") 566 if (use_aura) { 567 configs += [ 568 "//build/config/linux:dbus", 569 "//build/config/linux:fontconfig", 570 ] 571 deps += [ 572 "//dbus", 573 ] 574 } 575 if (use_x11) { 576 configs += [ "//build/config/linux:x11" ] 577 deps += [ "//ui/gfx/x" ] 578 } 579 } 580 581 if (is_desktop_linux) { 582 sources += rebase_path(gypi_values.chrome_browser_desktop_linux_sources, 583 ".", "//chrome") 584 } 585 if (enable_plugin_installation) { 586 sources += rebase_path( 587 gypi_values.chrome_browser_plugin_installation_sources, 588 ".", "//chrome") 589 } 590 if (enable_app_list) { 591 deps += [ 592 "//ui/app_list", 593 ] 594 } 595 if (enable_managed_users) { 596 sources += rebase_path( 597 gypi_values.chrome_browser_supervised_user_sources, 598 ".", "//chrome") 599 } 600 if (enable_webrtc) { 601 sources += rebase_path( 602 gypi_values.chrome_browser_webrtc_sources, 603 ".", "//chrome") 604 } 605 if (enable_service_discovery) { 606 sources += rebase_path( 607 gypi_values.chrome_browser_service_discovery_sources, 608 ".", "//chrome") 609 } 610 if (enable_mdns) { 611 sources += rebase_path( 612 gypi_values.chrome_browser_mdns_sources, 613 ".", "//chrome") 614 } 615 if (!enable_autofill_dialog || is_android || is_ios) { 616 sources -= [ 617 "autofill/validation_rules_storage_factory.cc", 618 "autofill/validation_rules_storage_factory.h", 619 ] 620 } 621 if (enable_wifi_bootstrapping) { 622 sources += rebase_path( 623 gypi_values.chrome_browser_wifi_bootstrapping_sources, 624 ".", "//chrome") 625 if (is_win || is_mac) { 626 # TODO(brettw) as of this writing wifi bootstrapping is set on Windows 627 # and Mac, so this test is meaningless. Can we merge these lists? 628 sources += rebase_path( 629 gypi_values.chrome_browser_win_mac_wifi_bootstrapping_sources, 630 ".", "//chrome") 631 } 632 } 633 } 634 635 if (is_android) { 636 # GYP version: chrome/chrome_browser.gypi:chrome_browser_jni_headers 637 generate_jni("jni_headers") { 638 sources = rebase_path( 639 gypi_values.chrome_browser_jni_sources, ".", "//chrome") 640 jni_package = "chrome" 641 } 642 } 643 644 # GYP version: chrome/chrome_resources.gyp:chrome_resources 645 # (generate_browser_resources action) 646 grit("resources") { 647 source = "browser_resources.grd" 648 output_dir = "$root_gen_dir/chrome" 649 outputs = [ 650 "grit/browser_resources.h", 651 "browser_resources.pak", 652 ] 653 654 omnibox_mojom_file = "$root_gen_dir/chrome/browser/ui/webui/omnibox/omnibox.mojom.js" 655 656 grit_flags = [ 657 "-E", "about_credits_file=" + 658 rebase_path(about_credits_file, root_build_dir), 659 "-E", "additional_modules_list_file=" + 660 rebase_path(additional_modules_list_file, root_build_dir), 661 "-E", "omnibox_mojom_file=" + 662 rebase_path(omnibox_mojom_file, root_build_dir), 663 ] 664 665 deps = [ 666 ":about_credits", 667 ":chrome_internal_resources_gen", 668 "//chrome/browser/ui/webui/omnibox:mojo_bindings", 669 "//mojo/environment:chromium", 670 ] 671 } 672 673 # GYP version: chrome/chrome_resource.gyp:about_credits 674 action("about_credits") { 675 script = "//tools/licenses.py" 676 677 # TODO(phajdan.jr): input dependencies so this can be regenerated 678 # automatically when one of the credits changes. The way this should work is 679 # that licenses.py should write a .d file listing the input dependencies (see 680 # "depfile" in GN). 681 outputs = [ about_credits_file ] 682 683 args = [ 684 "credits", 685 rebase_path(about_credits_file, root_build_dir), 686 ] 687 } 688 689 # GYP version: chrome/chrome_resource.gyp:chrome_internal_resources_gen 690 # TODO(GYP) write internal action 691 if (false) { #if (is_chrome_branded) { 692 action("chrome_internal_resources_gen") { 693 # TODO(GYP) 694 } 695 } else { 696 group("chrome_internal_resources_gen") { 697 # Empty placeholder. 698 } 699 } 700 701 # In GYP this is part of test_support_common. 702 source_set("test_support") { 703 testonly = true 704 705 # Always include this via the main test support target. 706 visibility = [ "//chrome/test:test_support" ] 707 708 sources = [ 709 "browsing_data/mock_browsing_data_appcache_helper.cc", 710 "browsing_data/mock_browsing_data_appcache_helper.h", 711 "browsing_data/mock_browsing_data_channel_id_helper.cc", 712 "browsing_data/mock_browsing_data_channel_id_helper.h", 713 "browsing_data/mock_browsing_data_cookie_helper.cc", 714 "browsing_data/mock_browsing_data_cookie_helper.h", 715 "browsing_data/mock_browsing_data_database_helper.cc", 716 "browsing_data/mock_browsing_data_database_helper.h", 717 "browsing_data/mock_browsing_data_file_system_helper.cc", 718 "browsing_data/mock_browsing_data_file_system_helper.h", 719 "browsing_data/mock_browsing_data_flash_lso_helper.cc", 720 "browsing_data/mock_browsing_data_flash_lso_helper.h", 721 "browsing_data/mock_browsing_data_indexed_db_helper.cc", 722 "browsing_data/mock_browsing_data_indexed_db_helper.h", 723 "browsing_data/mock_browsing_data_local_storage_helper.cc", 724 "browsing_data/mock_browsing_data_local_storage_helper.h", 725 "browsing_data/mock_browsing_data_quota_helper.cc", 726 "browsing_data/mock_browsing_data_quota_helper.h", 727 "browsing_data/mock_browsing_data_service_worker_helper.cc", 728 "browsing_data/mock_browsing_data_service_worker_helper.h", 729 "download/download_test_file_activity_observer.cc", 730 "download/download_test_file_activity_observer.h", 731 "download/test_download_shelf.cc", 732 "download/test_download_shelf.h", 733 "extensions/extension_action_test_util.cc", 734 "extensions/extension_action_test_util.h", 735 "invalidation/fake_invalidation_service.cc", 736 "invalidation/fake_invalidation_service.h", 737 "media/fake_desktop_media_list.cc", 738 "media/fake_desktop_media_list.h", 739 "net/dns_probe_test_util.cc", 740 "net/dns_probe_test_util.h", 741 "net/url_request_mock_util.cc", 742 "net/url_request_mock_util.h", 743 "notifications/notification_test_util.cc", 744 "notifications/notification_test_util.h", 745 "password_manager/mock_password_store_service.cc", 746 "password_manager/mock_password_store_service.h", 747 "password_manager/null_password_store_service.cc", 748 "password_manager/null_password_store_service.h", 749 "password_manager/test_password_store_service.cc", 750 "password_manager/test_password_store_service.h", 751 "prefs/pref_service_mock_factory.cc", 752 "prefs/pref_service_mock_factory.h", 753 "profile_resetter/profile_resetter_test_base.cc", 754 "profile_resetter/profile_resetter_test_base.h", 755 "search_engines/template_url_service_factory_test_util.cc", 756 "search_engines/template_url_service_factory_test_util.h", 757 "search_engines/template_url_service_test_util.cc", 758 "search_engines/template_url_service_test_util.h", 759 "sessions/session_service_test_helper.cc", 760 "sessions/session_service_test_helper.h", 761 "signin/fake_account_reconcilor.cc", 762 "signin/fake_account_reconcilor.h", 763 "signin/fake_account_tracker_service.cc", 764 "signin/fake_account_tracker_service.h", 765 "signin/fake_profile_oauth2_token_service.cc", 766 "signin/fake_profile_oauth2_token_service.h", 767 "signin/fake_profile_oauth2_token_service_builder.cc", 768 "signin/fake_profile_oauth2_token_service_builder.h", 769 "signin/fake_signin_manager.cc", 770 "signin/fake_signin_manager.h", 771 "ssl/ssl_client_auth_requestor_mock.cc", 772 "ssl/ssl_client_auth_requestor_mock.h", 773 "sync/glue/local_device_info_provider_mock.cc", 774 "sync/glue/local_device_info_provider_mock.h", 775 "sync/profile_sync_components_factory_mock.cc", 776 "sync/profile_sync_components_factory_mock.h", 777 "sync/profile_sync_service_mock.cc", 778 "sync/profile_sync_service_mock.h", 779 ] 780 781 public_deps = [ 782 ":browser", 783 "//chrome/browser/ui:test_support", 784 ] 785 deps = [ 786 "//base:prefs_test_support", 787 "//chrome/browser", 788 "//chrome/common", 789 "//chrome/common/safe_browsing:proto", 790 "//components/invalidation", 791 "//components/invalidation:test_support", 792 "//components/password_manager/core/browser:test_support", 793 "//components/search_engines:test_support", 794 "//content/test:test_support", 795 "//chrome/app/theme:theme_resources", 796 "//net:test_support", 797 "//skia", 798 "//testing/gmock", 799 "//testing/gtest", 800 "//ui/gfx", 801 ] 802 803 if (!is_ios) { 804 deps += [ 805 "//components/sessions:test_support", 806 "//google_apis:test_support", 807 ] 808 } 809 810 if (enable_extensions) { 811 deps += [ 812 "//extensions:test_support", 813 ] 814 } 815 816 if (is_chromeos) { 817 sources += [ 818 "chromeos/app_mode/fake_cws.cc", 819 "chromeos/app_mode/fake_cws.h", 820 "chromeos/file_manager/fake_disk_mount_manager.cc", 821 "chromeos/file_manager/fake_disk_mount_manager.h", 822 "chromeos/input_method/mock_candidate_window_controller.cc", 823 "chromeos/input_method/mock_candidate_window_controller.h", 824 "chromeos/input_method/mock_input_method_engine.cc", 825 "chromeos/input_method/mock_input_method_engine.h", 826 "chromeos/input_method/mock_input_method_manager.cc", 827 "chromeos/input_method/mock_input_method_manager.h", 828 "chromeos/login/fake_login_utils.cc", 829 "chromeos/login/fake_login_utils.h", 830 "chromeos/login/mock_login_utils.cc", 831 "chromeos/login/mock_login_utils.h", 832 "chromeos/login/users/avatar/mock_user_image_manager.cc", 833 "chromeos/login/users/avatar/mock_user_image_manager.h", 834 "chromeos/login/users/fake_supervised_user_manager.cc", 835 "chromeos/login/users/fake_supervised_user_manager.h", 836 "chromeos/login/users/fake_user_manager.cc", 837 "chromeos/login/users/fake_user_manager.h", 838 "chromeos/login/users/mock_user_manager.cc", 839 "chromeos/login/users/mock_user_manager.h", 840 "chromeos/login/test/oobe_screen_waiter.cc", 841 "chromeos/login/test/oobe_screen_waiter.h", 842 "chromeos/login/test/js_checker.cc", 843 "chromeos/login/test/js_checker.h", 844 "chromeos/login/ui/mock_login_display.cc", 845 "chromeos/login/ui/mock_login_display.h", 846 "chromeos/login/ui/mock_login_display_host.cc", 847 "chromeos/login/ui/mock_login_display_host.h", 848 "chromeos/net/network_portal_detector_test_utils.cc", 849 "chromeos/net/network_portal_detector_test_utils.h", 850 "chromeos/policy/cloud_external_data_manager_base_test_util.cc", 851 "chromeos/policy/cloud_external_data_manager_base_test_util.h", 852 "chromeos/policy/device_policy_builder.cc", 853 "chromeos/policy/device_policy_builder.h", 854 "chromeos/policy/fake_device_cloud_policy_initializer.cc", 855 "chromeos/policy/fake_device_cloud_policy_initializer.h", 856 "chromeos/policy/stub_enterprise_install_attributes.cc", 857 "chromeos/policy/stub_enterprise_install_attributes.h", 858 "chromeos/settings/device_settings_test_helper.cc", 859 "chromeos/settings/device_settings_test_helper.h", 860 "chromeos/system/fake_input_device_settings.cc", 861 "chromeos/system/fake_input_device_settings.h", 862 ] 863 configs += [ "//build/config/linux:dbus" ] 864 #deps += [ "//chromeos:test_support" ] TODO(GYP) 865 } 866 867 if (enable_configuration_policy) { 868 sources += [ 869 "policy/test/local_policy_test_server.cc", 870 "policy/test/local_policy_test_server.h", 871 ] 872 public_deps += [ 873 "//components/policy:policy_component_test_support", 874 "//components/policy:test_support", 875 ] 876 } 877 878 if (safe_browsing_mode == 1) { 879 sources += [ 880 "extensions/fake_safe_browsing_database_manager.cc", 881 "extensions/fake_safe_browsing_database_manager.h", 882 ] 883 } 884 885 if (enable_extensions) { 886 sources += [ 887 "drive/dummy_drive_service.cc", 888 "drive/dummy_drive_service.h", 889 "drive/fake_drive_service.cc", 890 "drive/fake_drive_service.h", 891 "drive/test_util.cc", 892 "drive/test_util.h", 893 "extensions/api/messaging/native_messaging_test_util.cc", 894 "extensions/api/messaging/native_messaging_test_util.h", 895 "extensions/extension_notification_observer.cc", 896 "extensions/extension_notification_observer.h", 897 "extensions/mock_extension_special_storage_policy.cc", 898 "extensions/mock_extension_special_storage_policy.h", 899 "extensions/test_blacklist.cc", 900 "extensions/test_blacklist.h", 901 "extensions/test_blacklist_state_fetcher.cc", 902 "extensions/test_blacklist_state_fetcher.h", 903 "extensions/test_extension_environment.cc", 904 "extensions/test_extension_environment.h", 905 "extensions/test_extension_prefs.cc", 906 "extensions/test_extension_prefs.h", 907 "extensions/test_extension_service.cc", 908 "extensions/test_extension_service.h", 909 "extensions/test_extension_system.cc", 910 "extensions/test_extension_system.h", 911 "media_galleries/media_galleries_test_util.cc", 912 "media_galleries/media_galleries_test_util.h", 913 ] 914 deps += [ 915 "//components/storage_monitor:test_support", 916 ] 917 } 918 919 if (enable_mdns) { 920 sources += [ 921 "local_discovery/test_service_discovery_client.cc", 922 "local_discovery/test_service_discovery_client.h", 923 ] 924 } 925 926 if (enable_app_list) { 927 sources += [ 928 "ui/app_list/test/chrome_app_list_test_support.cc", 929 "ui/app_list/test/chrome_app_list_test_support.h", 930 ] 931 } 932 933 if (enable_wifi_bootstrapping) { 934 sources += [ 935 "local_discovery/wifi/mock_wifi_manager.cc", 936 "local_discovery/wifi/mock_wifi_manager.h", 937 ] 938 } 939 } 940