# 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("//build/buildflag_header.gni") import("//build/config/features.gni") import("//build/config/ios/rules.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", "//components/gcm_driver", ] } source_set("browser") { configs += [ "//build/config/compiler:enable_arc" ] sources = [ "about_flags.h", "about_flags.mm", "app_startup_parameters.h", "app_startup_parameters.mm", "application_context.cc", "application_context.h", "arch_util.cc", "arch_util.h", "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_switches.cc", "chrome_switches.h", "chrome_url_constants.cc", "chrome_url_constants.h", "chrome_url_util.h", "chrome_url_util.mm", "crash_loop_detection_util.h", "crash_loop_detection_util.mm", "experimental_flags.h", "experimental_flags.mm", "file_metadata_util.h", "file_metadata_util.mm", "install_time_util.h", "install_time_util.mm", "installation_notifier.h", "installation_notifier.mm", "ios_chrome_field_trials.cc", "ios_chrome_field_trials.h", "ios_chrome_flag_descriptions.cc", "ios_chrome_flag_descriptions.h", "ios_chrome_io_thread.h", "ios_chrome_io_thread.mm", "ios_first_run_field_trials.cc", "ios_first_run_field_trials.h", "notification_promo.cc", "notification_promo.h", "pref_names.cc", "pref_names.h", "procedural_block_types.h", "tab_parenting_global_observer.cc", "tab_parenting_global_observer.h", "web_data_service_factory.cc", "web_data_service_factory.h", ] deps = [ ":settings_resources", "//base", "//components/autofill/core/browser", "//components/autofill/core/common", "//components/autofill/ios/browser", "//components/dom_distiller/core", "//components/feature_engagement", "//components/flags_ui", "//components/flags_ui:switches", "//components/handoff", "//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:common", "//components/payments/core", "//components/pref_registry", "//components/prefs", "//components/proxy_config", "//components/proxy_config/ios", "//components/reading_list/ios", "//components/search_engines", "//components/search_provider_logos", "//components/security_state/core", "//components/signin/core/browser", "//components/strings", "//components/sync", "//components/translate/core/browser", "//components/unified_consent", "//components/url_formatter", "//components/variations", "//components/variations/service", "//components/version_info", "//components/webdata_services", "//google_apis", "//ios/chrome/app/strings", "//ios/chrome/browser/app_launcher:feature_flags", "//ios/chrome/browser/browser_state", "//ios/chrome/browser/browsing_data:feature_flags", "//ios/chrome/browser/download", "//ios/chrome/browser/drag_and_drop", "//ios/chrome/browser/itunes_urls", "//ios/chrome/browser/mailto:feature_flags", "//ios/chrome/browser/payments:constants", "//ios/chrome/browser/ssl:feature_flags", "//ios/chrome/browser/sync/glue", "//ios/chrome/browser/ui:feature_flags", "//ios/chrome/browser/ui/coordinators:chrome_coordinators", "//ios/chrome/browser/ui/external_search:feature_flags", "//ios/chrome/browser/ui/fullscreen:feature_flags", "//ios/chrome/browser/ui/history:feature_flags", "//ios/chrome/browser/ui/main:feature_flags", "//ios/chrome/browser/ui/omnibox", "//ios/chrome/browser/ui/toolbar/public:feature_flags", "//ios/chrome/browser/ui/toolbar_container:feature_flags", "//ios/chrome/browser/web:feature_flags", "//ios/chrome/common", "//ios/components/io_thread", "//ios/net", "//ios/public/provider/chrome/browser", "//ios/public/provider/chrome/browser/voice", "//ios/web", "//ios/web/public", "//net", "//rlz/buildflags", "//url", ] public_deps = [ ":chrome_paths", ] allow_circular_includes_from = [ "//ios/chrome/browser/sync/glue", "//ios/chrome/browser/browser_state", ] libs = [ "UIKit.framework" ] } source_set("browser_impl") { configs += [ "//build/config/compiler:enable_arc" ] sources = [ "application_context_impl.cc", "application_context_impl.h", "ios_chrome_main_parts.h", "ios_chrome_main_parts.mm", ] deps = [ ":browser", "//base", "//components/component_updater", "//components/content_settings/core/browser", "//components/content_settings/core/common", "//components/flags_ui", "//components/gcm_driver", "//components/history/core/browser", "//components/keyed_service/core", "//components/language_usage_metrics", "//components/metrics", "//components/metrics_services_manager", "//components/net_log", "//components/network_time", "//components/open_from_clipboard", "//components/prefs", "//components/rappor", "//components/sessions", "//components/translate/core/browser", "//components/ukm", "//components/update_client", "//components/variations", "//components/variations/field_trial_config", "//components/variations/service", "//ios/chrome/browser/browser_state", "//ios/chrome/browser/browser_state:browser_state_impl", "//ios/chrome/browser/component_updater", "//ios/chrome/browser/first_run", "//ios/chrome/browser/gcm", "//ios/chrome/browser/history", "//ios/chrome/browser/metrics", "//ios/chrome/browser/metrics:expired_histograms_array", "//ios/chrome/browser/net", "//ios/chrome/browser/open_from_clipboard", "//ios/chrome/browser/prefs", "//ios/chrome/browser/prefs:browser_prefs", "//ios/chrome/browser/translate", "//ios/chrome/browser/update_client", "//ios/chrome/browser/web_resource", "//ios/chrome/common", "//ios/public/provider/chrome/browser", "//ios/web", "//ios/web/public/app", "//net", "//rlz/buildflags", "//ui/base", ] if (enable_rlz) { deps += [ "//ios/chrome/browser/rlz" ] } } bundle_data("settings_resources") { sources = [ "resources/Settings.bundle/Experimental.plist", "resources/Settings.bundle/Root.plist", ] outputs = [ "{{bundle_resources_dir}}/Settings.bundle/{{source_file_part}}", ] } source_set("unit_tests") { configs += [ "//build/config/compiler:enable_arc" ] testonly = true sources = [ "app_startup_parameters_unittest.mm", "chrome_browser_provider_observer_bridge_unittest.mm", "chrome_url_util_unittest.mm", "crash_loop_detection_util_unittest.mm", "install_time_util_unittest.mm", "installation_notifier_unittest.mm", "ios_chrome_io_thread_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/public/provider/chrome/browser", "//ios/public/provider/chrome/browser/signin", "//ios/web/public/test", "//net", "//net:test_support", "//testing/gtest", "//third_party/ocmock", "//url", ] }