# Copyright 2016 The Chromium Authors # 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("//ios/web/public/js_messaging/optimize_js.gni") source_set("model") { sources = [ "blocked_popup_tab_helper.h", "blocked_popup_tab_helper.mm", "error_page_util.h", "error_page_util.mm", "invalid_url_tab_helper.h", "invalid_url_tab_helper.mm", "load_timing_tab_helper.h", "load_timing_tab_helper.mm", "repost_form_tab_helper.h", "repost_form_tab_helper.mm", "sad_tab_tab_helper.h", "sad_tab_tab_helper.mm", "web_navigation_browser_agent.h", "web_navigation_browser_agent.mm", "web_navigation_ntp_delegate.h", "web_navigation_util.h", "web_navigation_util.mm", ] deps = [ ":page_placeholder", ":tab_helper_delegates", "//base", "//components/application_locale_storage", "//components/content_settings/core/browser", "//components/error_page/common", "//components/feature_engagement/public", "//components/pref_registry", "//components/resources:components_resources_grit", "//components/resources:dev_ui_components_resources_grit", "//components/search_engines", "//components/strings", "//components/ukm/ios:ukm_url_recorder", "//components/variations/net", "//ios/chrome/app/application_delegate:observing_app_state_agent", "//ios/chrome/app/strings", "//ios/chrome/browser/content_settings/model", "//ios/chrome/browser/feature_engagement/model", "//ios/chrome/browser/fullscreen/ui_bundled", "//ios/chrome/browser/infobars/model", "//ios/chrome/browser/infobars/model:public", "//ios/chrome/browser/lens/model", "//ios/chrome/browser/lens_overlay/public:lens_overlay_availability", "//ios/chrome/browser/ntp/model:util", "//ios/chrome/browser/shared/model/application_context", "//ios/chrome/browser/shared/model/browser", "//ios/chrome/browser/shared/model/profile", "//ios/chrome/browser/shared/model/url:constants", "//ios/chrome/browser/shared/model/utils", "//ios/chrome/browser/shared/model/web_state_list", "//ios/chrome/browser/shared/public/commands", "//ios/chrome/browser/shared/ui/elements", "//ios/chrome/browser/shared/ui/util", "//ios/chrome/browser/web/model/dark_mode_detection", "//ios/chrome/common/ui/util", "//ios/components/ui_util", "//ios/components/webui:url_constants", "//ios/net", "//ios/web/common", "//ios/web/common:user_agent", "//ios/web/public/js_messaging", "//ios/web/public/security", "//services/metrics/public/cpp:ukm_builders", "//ui/base", "//url", ] public_deps = [ "//components/infobars/core", "//ios/web/public", ] } source_set("delegate") { sources = [ "web_state_delegate_browser_agent.h", "web_state_delegate_browser_agent.mm", "web_state_update_browser_agent.h", "web_state_update_browser_agent.mm", ] deps = [ ":model", ":tab_helper_delegates", "//base", "//components/content_settings/core/browser", "//components/enterprise/client_certificates/core", "//ios/chrome/browser/content_settings/model", "//ios/chrome/browser/context_menu/ui_bundled:coordinator", "//ios/chrome/browser/dialogs/ui_bundled:dialogs_internal", "//ios/chrome/browser/enterprise/client_certificates", "//ios/chrome/browser/enterprise/data_controls/model", "//ios/chrome/browser/intelligence/bwg/utils:constants", "//ios/chrome/browser/intelligence/features", "//ios/chrome/browser/overlays/model", "//ios/chrome/browser/overlays/model/public/web_content_area", "//ios/chrome/browser/permissions/model:tab_helper", "//ios/chrome/browser/policy/model", "//ios/chrome/browser/shared/model/application_context", "//ios/chrome/browser/shared/model/browser", "//ios/chrome/browser/shared/model/profile", "//ios/chrome/browser/shared/model/web_state_list", "//ios/chrome/browser/shared/public/commands", "//ios/chrome/browser/shared/public/features", "//ios/chrome/browser/snapshots/model", "//ios/chrome/browser/supervised_user/model:capabilities", "//ios/chrome/browser/tab_insertion/model", "//ios/chrome/browser/tabs/model:dependency_installer", "//ios/chrome/browser/url_loading/model", "//ios/chrome/browser/url_loading/model:url_loading_params_header", "//ios/components/security_interstitials", "//ios/public/provider/chrome/browser/context_menu:context_menu_api", "//ios/web/public", "//url", ] frameworks = [ "UIKit.framework", "Foundation.framework", ] } source_set("page_placeholder") { sources = [ "page_placeholder_browser_agent.h", "page_placeholder_browser_agent.mm", "page_placeholder_tab_helper.h", "page_placeholder_tab_helper.mm", ] deps = [ "//base", "//ios/chrome/browser/shared/model/browser", "//ios/chrome/browser/shared/model/url", "//ios/chrome/browser/shared/model/url:constants", "//ios/chrome/browser/shared/model/web_state_list", "//ios/chrome/browser/shared/ui/elements", "//ios/chrome/browser/shared/ui/util", "//ios/chrome/browser/snapshots/model", "//ios/chrome/common/ui/util", "//ios/net", ] public_deps = [ "//ios/web/public" ] } source_set("tab_helper_delegates") { sources = [ "repost_form_tab_helper_delegate.h", "sad_tab_tab_helper_delegate.h", "web_state_container_view_provider.h", ] deps = [ "//ios/web/public" ] } source_set("unit_tests") { testonly = true sources = [ "error_page_util_unittest.mm", "invalid_url_tab_helper_unittest.mm", "load_timing_tab_helper_unittest.mm", "page_placeholder_tab_helper_unittest.mm", "repost_form_tab_helper_unittest.mm", "sad_tab_tab_helper_unittest.mm", "web_navigation_browser_agent_unittest.mm", "web_navigation_util_unittest.mm", "web_state_delegate_browser_agent_unittest.mm", ] deps = [ ":delegate", ":model", ":page_placeholder", ":tab_helper_delegates", "//base", "//base/test:test_support", "//components/search_engines", "//components/strings", "//components/sync_preferences", "//components/sync_preferences:test_support", "//ios/chrome/app:app_internal", "//ios/chrome/browser/enterprise/data_controls/model", "//ios/chrome/browser/lens/model", "//ios/chrome/browser/ntp/model", "//ios/chrome/browser/overlays/model", "//ios/chrome/browser/overlays/model/public/web_content_area", "//ios/chrome/browser/shared/model/browser", "//ios/chrome/browser/shared/model/browser/test:test_support", "//ios/chrome/browser/shared/model/prefs:browser_prefs", "//ios/chrome/browser/shared/model/profile", "//ios/chrome/browser/shared/model/profile/test", "//ios/chrome/browser/shared/model/url:constants", "//ios/chrome/browser/shared/model/web_state_list", "//ios/chrome/browser/shared/ui/util", "//ios/chrome/browser/snapshots/model", "//ios/chrome/browser/snapshots/model:snapshot_source", "//ios/chrome/browser/tab_insertion/model", "//ios/chrome/browser/web/model", "//ios/chrome/browser/web/model/dark_mode_detection:unit_tests", "//ios/chrome/test:test_support", "//ios/net", "//ios/net:test_support", "//ios/web", "//ios/web/public/security", "//ios/web/public/test", "//ios/web/public/test/fakes", "//net:test_support", "//services/network:test_support", "//testing/gmock", "//testing/gtest", "//third_party/ocmock", "//ui/base", "//url", ] } source_set("web_internal") { sources = [ "browser_about_rewriter.cc", "browser_about_rewriter.h", "chrome_main_parts.h", "chrome_main_parts.mm", "chrome_web_client.h", "chrome_web_client.mm", "ios_thread_profiler.cc", "ios_thread_profiler.h", ] public_deps = [ "//base", "//components/memory_system", "//ios/chrome/browser/flags:client_side", "//ios/web/public/init", ] deps = [ ":model", "//base/allocator:buildflags", "//build:blink_buildflags", "//components/application_locale_storage", "//components/autofill/core/common:features", "//components/autofill/ios/browser", "//components/autofill/ios/common", "//components/autofill/ios/form_util:form_handler_feature", "//components/autofill/ios/form_util:programmatic_form_submission_handler_feature", "//components/content_settings/core/browser", "//components/crash/core/common:crash_key", "//components/crash/core/common:reporter_running_ios", "//components/dom_distiller/core", "//components/enterprise/connectors/core", "//components/google/core/common", "//components/language/core/browser", "//components/language/ios/browser", "//components/metrics", "//components/metrics:call_stack_profile_encoding", "//components/metrics:child_call_stack_profile_builder", "//components/metrics/public/mojom:call_stack_mojo_bindings", "//components/metrics_services_manager", "//components/omnibox/browser:pref_names", "//components/open_from_clipboard", "//components/password_manager/ios:password_manager_feature_header", "//components/payments/core", "//components/prefs", "//components/previous_session_info", "//components/resources", "//components/safe_browsing/core/common", "//components/safe_browsing/core/common:features", "//components/safe_browsing/core/common:safe_browsing_prefs", "//components/sampling_profiler:profile_params", "//components/signin/public/identity_manager", "//components/strings", "//components/supervised_user/core/browser", "//components/supervised_user/core/common:buildflags", "//components/translate/ios/browser", "//components/url_formatter", "//components/variations", "//components/variations/field_trial_config", "//components/variations/service", "//components/version_info", "//components/webauthn/ios", "//components/webauthn/ios:features", "//components/webui/flags", "//ios/chrome/app/resources:ios_resources", "//ios/chrome/browser/application_context/model", "//ios/chrome/browser/autofill/model/bottom_sheet", "//ios/chrome/browser/browser_content/model", "//ios/chrome/browser/cobrowse/model", "//ios/chrome/browser/content_settings/model", "//ios/chrome/browser/crash_report/model", "//ios/chrome/browser/enterprise/connectors:interstitials", "//ios/chrome/browser/enterprise/connectors/reporting", "//ios/chrome/browser/first_run/model", "//ios/chrome/browser/flags", "//ios/chrome/browser/flags:system_flags", "//ios/chrome/browser/https_upgrades/model", "//ios/chrome/browser/infobars/ui_bundled/coordinators", "//ios/chrome/browser/intelligence/actor/tools/model:java_script_features", "//ios/chrome/browser/intelligence/features", "//ios/chrome/browser/intelligence/proto_wrappers:page_context_extractor_feature", "//ios/chrome/browser/link_to_text/model", "//ios/chrome/browser/metrics/model:accessor", "//ios/chrome/browser/metrics/model:expired_histograms_array", "//ios/chrome/browser/ntp/model", "//ios/chrome/browser/open_from_clipboard/model", "//ios/chrome/browser/optimization_guide/model", "//ios/chrome/browser/passwords/model", "//ios/chrome/browser/permissions/model:features", "//ios/chrome/browser/permissions/model:geolocation", "//ios/chrome/browser/permissions/model:media", "//ios/chrome/browser/policy/model", "//ios/chrome/browser/prerender/model", "//ios/chrome/browser/profile/model:keyed_service_factories", "//ios/chrome/browser/promos_manager/model", "//ios/chrome/browser/reader_mode/model", "//ios/chrome/browser/reader_mode/model:features", "//ios/chrome/browser/reading_list/model", "//ios/chrome/browser/safe_browsing/model", "//ios/chrome/browser/safe_browsing/model/client_side_detection", "//ios/chrome/browser/search_engines/model", "//ios/chrome/browser/segmentation_platform/model:ukm_client", "//ios/chrome/browser/send_tab_to_self/model", "//ios/chrome/browser/shared/model/application_context", "//ios/chrome/browser/shared/model/paths", "//ios/chrome/browser/shared/model/prefs:pref_names", "//ios/chrome/browser/shared/model/profile", "//ios/chrome/browser/shared/model/profile:profile_keyed_service_factory", "//ios/chrome/browser/shared/model/url", "//ios/chrome/browser/shared/model/url:constants", "//ios/chrome/browser/shared/public/features", "//ios/chrome/browser/shared/ui/elements", "//ios/chrome/browser/shared/ui/util", "//ios/chrome/browser/signin/model:signin_util", "//ios/chrome/browser/ssl/model", "//ios/chrome/browser/supervised_user/model", "//ios/chrome/browser/tracing", "//ios/chrome/browser/translate/model", "//ios/chrome/browser/unified_consent/model", "//ios/chrome/browser/web/model/choose_file", "//ios/chrome/browser/web/model/dark_mode_detection", "//ios/chrome/browser/web/model/font_size", "//ios/chrome/browser/web/model/image_fetch", "//ios/chrome/browser/web/model/java_script_console", "//ios/chrome/browser/web/model/print", "//ios/chrome/browser/web/model/web_performance_metrics", "//ios/chrome/browser/web_selection/model", "//ios/chrome/common", "//ios/chrome/common/crash_report", "//ios/components/security_interstitials", "//ios/components/security_interstitials/https_only_mode", "//ios/components/security_interstitials/https_only_mode:feature", "//ios/components/security_interstitials/lookalikes", "//ios/components/security_interstitials/safe_browsing", "//ios/components/ui_util", "//ios/components/webui:url_constants", "//ios/net", "//ios/public/provider/chrome/browser/additional_features:additional_features_api", "//ios/public/provider/chrome/browser/bwg:gemini_api", "//ios/public/provider/chrome/browser/cobalt:cobalt_api", "//ios/public/provider/chrome/browser/fullscreen:fullscreen_api", "//ios/public/provider/chrome/browser/url_rewriters:url_rewriters_api", "//ios/web/common", "//ios/web/common:user_agent", "//ios/web/public", "//ios/web/public/find_in_page", "//ios/web/public/js_messaging", "//net", "//services/metrics/public/cpp:metrics_cpp", "//ui/base", "//ui/display", "//ui/gfx", "//url", ] if (use_allocator_shim) { deps += [ "//components/heap_profiling/in_process" ] } frameworks = [ "UIKit.framework", "Foundation.framework", ] } source_set("unit_tests_internal") { testonly = true sources = [ "blocked_popup_tab_helper_unittest.mm", "browser_about_rewriter_unittest.cc", "chrome_web_client_unittest.mm", ] deps = [ ":web_internal", "//base", "//base/test:test_support", "//components/captive_portal/core", "//components/content_settings/core/browser", "//components/infobars/core", "//components/lookalikes/core", "//components/payments/core", "//components/safe_browsing/core/common:features", "//components/safe_browsing/ios/browser:allow_list", "//components/security_interstitials/core:unsafe_resource", "//components/strings", "//components/version_info", "//ios/chrome/browser/content_settings/model", "//ios/chrome/browser/find_in_page/model", "//ios/chrome/browser/infobars/model", "//ios/chrome/browser/infobars/model:public", "//ios/chrome/browser/passwords/model", "//ios/chrome/browser/reading_list/model", "//ios/chrome/browser/reading_list/model:test_support", "//ios/chrome/browser/safe_browsing/model", "//ios/chrome/browser/safe_browsing/model/client_side_detection", "//ios/chrome/browser/shared/model/profile/test", "//ios/chrome/browser/shared/model/url:constants", "//ios/chrome/browser/ssl/model", "//ios/chrome/browser/web/model", "//ios/chrome/test/fakes", "//ios/components/security_interstitials", "//ios/components/security_interstitials/https_only_mode", "//ios/components/security_interstitials/lookalikes", "//ios/components/security_interstitials/safe_browsing", "//ios/net", "//ios/web/common:features", "//ios/web/common:web_view_creation_util", "//ios/web/public/test", "//ios/web/public/test/fakes", "//net", "//net:test_support", "//services/network:test_support", "//services/network/public/mojom", "//testing/gtest", "//third_party/ocmock", "//ui/base", "//url", ] } source_set("constants") { sources = [ "lookalike_url_constants.h", "lookalike_url_constants.mm", ] } source_set("eg_test_support+eg2") { configs += [ "//build/config/ios:xctest_config" ] testonly = true sources = [ "lookalike_url_app_interface.h", "lookalike_url_app_interface_stub.mm", "progress_indicator_app_interface.h", "progress_indicator_app_interface_stub.mm", ] deps = [ "//ios/chrome/test/earl_grey:eg_test_support+eg2", "//ios/testing/earl_grey:eg_test_support+eg2", ] } source_set("eg_app_support+eg2") { configs += [ "//build/config/ios:xctest_config" ] testonly = true sources = [ "lookalike_url_app_interface.h", "lookalike_url_app_interface.mm", "progress_indicator_app_interface.h", "progress_indicator_app_interface.mm", ] deps = [ ":constants", "//base", "//components/content_settings/core/browser", "//components/lookalikes/core", "//ios/chrome/test/app:test_support", "//ios/components/security_interstitials/lookalikes", "//ios/testing/earl_grey:eg_app_support+eg2", "//ios/third_party/earl_grey2:app_framework+link", "//ios/web/public", "//net", ] } source_set("eg2_tests") { configs += [ "//build/config/ios:xctest_config" ] testonly = true sources = [ "browsing_egtest.mm", "browsing_prevent_default_egtest.mm", "child_window_open_by_dom_egtest.mm", "content_mode_egtest.mm", "error_page_egtest.mm", "forms_egtest.mm", "http_auth_egtest.mm", "js_print_egtest.mm", "lookalike_url_egtest.mm", "navigation_egtest.mm", "progress_indicator_egtest.mm", "push_and_replace_state_navigation_egtest.mm", "restore_egtest.mm", "ssl_egtest.mm", "stop_loading_egtest.mm", "tab_order_egtest.mm", "visible_url_egtest.mm", "web_share_egtest.mm", "window_open_by_dom_egtest.mm", ] deps = [ ":constants", ":eg_test_support+eg2", "//components/content_settings/core/common", "//components/omnibox/common", "//components/security_interstitials/core", "//components/strings", "//components/url_formatter", "//components/version_info", "//ios/chrome/app/strings", "//ios/chrome/browser/infobars/ui_bundled/banners:public", "//ios/chrome/browser/metrics/model:eg_test_support+eg2", "//ios/chrome/browser/omnibox/eg_tests:eg_test_support+eg2", "//ios/chrome/browser/popup_menu/public", "//ios/chrome/browser/shared/model/prefs:pref_names", "//ios/chrome/browser/shared/model/url:constants", "//ios/chrome/browser/shared/public/features", "//ios/chrome/browser/start_surface/ui_bundled:feature_flags", "//ios/chrome/browser/web/model/dark_mode_detection:eg2_tests", "//ios/chrome/test:eg_test_support+eg2", "//ios/chrome/test/earl_grey:eg_test_support+eg2", "//ios/net:test_support", "//ios/testing:embedded_test_server_support", "//ios/testing/earl_grey:eg_test_support+eg2", "//ios/web/common:features", "//ios/web/public/test:element_selector", "//net:test_support", "//ui/base", "//url", ] frameworks = [ "UIKit.framework" ] }