| # Copyright 2015 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//base/allocator/allocator.gni") |
| import("//build/apple/tweak_info_plist.gni") |
| import("//build/config/features.gni") |
| import("//build/config/ios/rules.gni") |
| import("//ios/chrome/features.gni") |
| import("//rlz/buildflags/buildflags.gni") |
| import("//third_party/protobuf/proto_library.gni") |
| |
| source_set("chrome_paths") { |
| configs += [ "//build/config/compiler:enable_arc" ] |
| sources = [ |
| "chrome_paths.h", |
| "chrome_paths.mm", |
| "chrome_paths_internal.h", |
| ] |
| |
| deps = [ |
| "//base", |
| "//build:branding_buildflags", |
| "//components/gcm_driver", |
| ] |
| } |
| |
| source_set("browser") { |
| configs += [ "//build/config/compiler:enable_arc" ] |
| sources = [ |
| "browser_about_rewriter.cc", |
| "browser_about_rewriter.h", |
| "chrome_browser_provider_observer_bridge.h", |
| "chrome_browser_provider_observer_bridge.mm", |
| "chrome_constants.cc", |
| "chrome_constants.h", |
| "chrome_root_coordinator.h", |
| "chrome_root_coordinator.mm", |
| "chrome_url_util.h", |
| "chrome_url_util.mm", |
| "install_time_util.h", |
| "install_time_util.mm", |
| "installation_notifier.h", |
| "installation_notifier.mm", |
| "ios_chrome_field_trials.h", |
| "ios_chrome_field_trials.mm", |
| "ios_chrome_io_thread.h", |
| "ios_chrome_io_thread.mm", |
| "notification_promo.cc", |
| "notification_promo.h", |
| ] |
| |
| deps = [ |
| "//base", |
| "//components/autofill/core/browser", |
| "//components/autofill/ios/browser", |
| "//components/dom_distiller/core", |
| "//components/feature_engagement", |
| "//components/flags_ui", |
| "//components/flags_ui:switches", |
| "//components/handoff", |
| "//components/invalidation/impl:impl", |
| "//components/keyed_service/core", |
| "//components/keyed_service/ios", |
| "//components/metrics", |
| "//components/metrics_services_manager", |
| "//components/net_log", |
| "//components/ntp_tiles", |
| "//components/omnibox/browser", |
| "//components/password_manager/core/common", |
| "//components/pref_registry", |
| "//components/prefs", |
| "//components/proxy_config", |
| "//components/proxy_config/ios", |
| "//components/reading_list/ios", |
| "//components/search_engines", |
| "//components/security_state/core", |
| "//components/send_tab_to_self", |
| "//components/strings", |
| "//components/sync", |
| "//components/translate/core/browser", |
| "//components/unified_consent", |
| "//components/url_formatter", |
| "//components/variations/net", |
| "//components/variations/service", |
| "//components/version_info", |
| "//components/webdata_services", |
| "//google_apis", |
| "//ios/chrome/app/strings", |
| "//ios/chrome/browser/browser_state", |
| "//ios/chrome/browser/complex_tasks", |
| "//ios/chrome/browser/download/background_service", |
| "//ios/chrome/browser/itunes_urls", |
| "//ios/chrome/browser/resources:settings_resources", |
| "//ios/chrome/browser/sync/glue", |
| "//ios/chrome/browser/ui:feature_flags", |
| "//ios/chrome/browser/ui/coordinators:chrome_coordinators", |
| "//ios/chrome/browser/ui/first_run:field_trial", |
| "//ios/chrome/browser/ui/omnibox", |
| "//ios/chrome/browser/ui/toolbar_container:feature_flags", |
| "//ios/chrome/browser/web:feature_flags", |
| "//ios/chrome/common", |
| "//ios/components/io_thread", |
| "//ios/components/webui:url_constants", |
| "//ios/net", |
| "//ios/public/provider/chrome/browser", |
| "//ios/web", |
| "//ios/web/common", |
| "//ios/web/public", |
| "//net", |
| "//rlz/buildflags", |
| "//url", |
| ] |
| public_deps = [ |
| ":chrome_paths", |
| ":chrome_url_constants", |
| ":utils", |
| "//ios/chrome/browser/application_context", |
| "//ios/chrome/browser/prefs:pref_names", |
| ] |
| allow_circular_includes_from = [ |
| "//ios/chrome/browser/sync/glue", |
| "//ios/chrome/browser/browser_state", |
| ] |
| frameworks = [ |
| "UIKit.framework", |
| "Foundation.framework", |
| ] |
| } |
| |
| source_set("utils") { |
| configs += [ "//build/config/compiler:enable_arc" ] |
| sources = [ |
| "chrome_switches.cc", |
| "chrome_switches.h", |
| "procedural_block_types.h", |
| "system_flags.h", |
| "system_flags.mm", |
| ] |
| deps = [ |
| "//base", |
| "//build:branding_buildflags", |
| "//components/autofill/core/common", |
| "//components/password_manager/core/common:features", |
| "//components/variations", |
| "//ios/chrome/browser/browsing_data:feature_flags", |
| "//ios/chrome/browser/ui:feature_flags", |
| ] |
| } |
| |
| source_set("chrome_url_constants") { |
| configs += [ "//build/config/compiler:enable_arc" ] |
| sources = [ |
| "chrome_url_constants.cc", |
| "chrome_url_constants.h", |
| ] |
| |
| deps = [ |
| "//base", |
| "//ios/components/webui:url_constants", |
| ] |
| frameworks = [ "UIKit.framework" ] |
| } |
| |
| source_set("browser_impl") { |
| configs += [ "//build/config/compiler:enable_arc" ] |
| sources = [ |
| "ios_chrome_main_parts.h", |
| "ios_chrome_main_parts.mm", |
| "ios_thread_profiler.cc", |
| "ios_thread_profiler.h", |
| ] |
| deps = [ |
| ":browser", |
| "//base", |
| "//base/allocator:buildflags", |
| "//components/breadcrumbs/core", |
| "//components/breadcrumbs/core:feature_flags", |
| "//components/component_updater", |
| "//components/content_settings/core/browser", |
| "//components/content_settings/core/common", |
| "//components/crash/core/common:crash_key_lib", |
| "//components/crash/core/common:reporter_running_ios", |
| "//components/flags_ui", |
| "//components/gcm_driver", |
| "//components/history/core/browser", |
| "//components/keyed_service/core", |
| "//components/language/core/browser", |
| "//components/metrics", |
| "//components/metrics:child_call_stack_profile_builder", |
| "//components/metrics/public/mojom:call_stack_mojo_bindings", |
| "//components/metrics_services_manager", |
| "//components/net_log", |
| "//components/network_time", |
| "//components/open_from_clipboard", |
| "//components/prefs", |
| "//components/safe_browsing/core/common", |
| "//components/sessions", |
| "//components/signin/public/identity_manager", |
| "//components/translate/core/browser", |
| "//components/ukm", |
| "//components/update_client", |
| "//components/variations", |
| "//components/variations/field_trial_config", |
| "//components/variations/service", |
| "//components/version_info", |
| "//ios/chrome/app:tests_hook", |
| "//ios/chrome/browser/application_context:application_context_impl", |
| "//ios/chrome/browser/browser_state", |
| "//ios/chrome/browser/browser_state:browser_state_impl", |
| "//ios/chrome/browser/component_updater", |
| "//ios/chrome/browser/crash_report", |
| "//ios/chrome/browser/crash_report/breadcrumbs", |
| "//ios/chrome/browser/crash_report/breadcrumbs:application_breadcrumbs_logger", |
| "//ios/chrome/browser/first_run", |
| "//ios/chrome/browser/flags", |
| "//ios/chrome/browser/gcm", |
| "//ios/chrome/browser/history", |
| "//ios/chrome/browser/https_upgrades", |
| "//ios/chrome/browser/metrics", |
| "//ios/chrome/browser/metrics:accessor", |
| "//ios/chrome/browser/metrics:expired_histograms_array", |
| "//ios/chrome/browser/net", |
| "//ios/chrome/browser/open_from_clipboard", |
| "//ios/chrome/browser/optimization_guide", |
| "//ios/chrome/browser/policy", |
| "//ios/chrome/browser/prefs", |
| "//ios/chrome/browser/prefs:browser_prefs", |
| "//ios/chrome/browser/promos_manager", |
| "//ios/chrome/browser/promos_manager:features", |
| "//ios/chrome/browser/push_notification:push_notification_service", |
| "//ios/chrome/browser/safe_browsing", |
| "//ios/chrome/browser/segmentation_platform", |
| "//ios/chrome/browser/send_tab_to_self", |
| "//ios/chrome/browser/signin", |
| "//ios/chrome/browser/text_selection", |
| "//ios/chrome/browser/translate", |
| "//ios/chrome/browser/update_client", |
| "//ios/chrome/common", |
| "//ios/chrome/common/app_group", |
| "//ios/components/security_interstitials/safe_browsing", |
| "//ios/public/provider/chrome/browser", |
| "//ios/public/provider/chrome/browser/app_distribution:app_distribution_api", |
| "//ios/public/provider/chrome/browser/push_notification:push_notification_api", |
| "//ios/public/provider/chrome/browser/signin:signin_sso_api", |
| "//ios/web", |
| "//ios/web/public/init", |
| "//mojo/public/cpp/bindings", |
| "//net", |
| "//rlz/buildflags", |
| "//services/network:network_service", |
| "//ui/base", |
| "//ui/display", |
| ] |
| |
| if (enable_rlz) { |
| deps += [ "//ios/chrome/browser/rlz" ] |
| } |
| |
| # Heap profiling is not compiled unless use_allocator_shim is true, as some of |
| # its dependencies require the allocator shim. This variable may be set to |
| # false, for example, in cronet builds. |
| if (use_allocator_shim) { |
| deps += [ "//components/heap_profiling/in_process" ] |
| } |
| } |
| |
| source_set("unit_tests") { |
| configs += [ "//build/config/compiler:enable_arc" ] |
| testonly = true |
| sources = [ |
| "browser_about_rewriter_unittest.cc", |
| "chrome_browser_provider_observer_bridge_unittest.mm", |
| "chrome_url_util_unittest.mm", |
| "install_time_util_unittest.mm", |
| "installation_notifier_unittest.mm", |
| "notification_promo_unittest.cc", |
| ] |
| deps = [ |
| ":browser", |
| "//base", |
| "//base/test:test_support", |
| "//components/prefs", |
| "//components/prefs:test_support", |
| "//components/proxy_config", |
| "//components/variations", |
| "//ios/components/webui:url_constants", |
| "//ios/public/provider/chrome/browser", |
| "//ios/public/provider/chrome/browser/signin", |
| "//ios/web/public/test", |
| "//net", |
| "//net:test_support", |
| "//testing/gtest", |
| "//third_party/ocmock", |
| "//url", |
| ] |
| } |