# Copyright 2017 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("//ios/build/config.gni")

source_set("public") {
  public_deps = [
    ":user_agent",
    "//net",
    "//services/network/public/cpp",
    "//services/network/public/mojom",
  ]

  deps = [
    "//services/service_manager/embedder",
    "//ui/base",
  ]

  sources = [
    "block_types.h",
    "browser_state.h",
    "browser_url_rewriter.h",
    "cert_policy.h",
    "certificate_policy_cache.h",
    "crw_navigation_item_storage.h",
    "crw_session_certificate_policy_cache_storage.h",
    "crw_session_certificate_policy_cache_storage.mm",
    "crw_session_storage.h",
    "crw_session_storage.mm",
    "favicon_status.cc",
    "favicon_status.h",
    "favicon_url.cc",
    "favicon_url.h",
    "features.h",
    "interstitials/web_interstitial.h",
    "interstitials/web_interstitial_delegate.h",
    "java_script_dialog_callback.h",
    "java_script_dialog_presenter.h",
    "java_script_dialog_type.h",
    "load_committed_details.h",
    "navigation_item.h",
    "navigation_item_list.h",
    "navigation_item_list.mm",
    "navigation_manager.h",
    "origin_util.h",
    "origin_util.mm",
    "referrer.h",
    "referrer_util.cc",
    "referrer_util.h",
    "reload_type.h",
    "security_style.h",
    "serializable_user_data_manager.h",
    "service_manager_connection.h",
    "ssl_status.cc",
    "ssl_status.h",
    "system_cookie_store_util.h",
    "url_data_source_ios.h",
    "url_scheme_util.h",
    "url_schemes.h",
    "url_schemes.mm",
    "url_util.h",
    "web_capabilities.cc",
    "web_capabilities.h",
    "web_client.h",
    "web_kit_constants.h",
    "web_state/context_menu_params.h",
    "web_state/form_activity_params.h",
    "web_state/global_web_state_observer.h",
    "web_state/js/crw_js_injection_evaluator.h",
    "web_state/js/crw_js_injection_manager.h",
    "web_state/js/crw_js_injection_receiver.h",
    "web_state/navigation_context.h",
    "web_state/page_display_state.h",
    "web_state/page_display_state.mm",
    "web_state/session_certificate_policy_cache.h",
    "web_state/ui/crw_content_view.h",
    "web_state/ui/crw_context_menu_delegate.h",
    "web_state/ui/crw_generic_content_view.h",
    "web_state/ui/crw_native_content.h",
    "web_state/ui/crw_native_content_provider.h",
    "web_state/ui/crw_web_delegate.h",
    "web_state/ui/crw_web_view_content_view.h",
    "web_state/ui/crw_web_view_proxy.h",
    "web_state/ui/crw_web_view_scroll_view_proxy.h",
    "web_state/url_verification_constants.h",
    "web_state/web_frame.h",
    "web_state/web_frames_manager.h",
    "web_state/web_state.h",
    "web_state/web_state_delegate.h",
    "web_state/web_state_delegate_bridge.h",
    "web_state/web_state_interface_provider.cc",
    "web_state/web_state_interface_provider.h",
    "web_state/web_state_observer.h",
    "web_state/web_state_observer_bridge.h",
    "web_state/web_state_policy_decider.h",
    "web_state/web_state_user_data.h",
    "web_thread.h",
    "web_thread_delegate.h",
    "web_ui_ios_data_source.h",
    "web_view_creation_util.h",
    "webui/web_ui_ios.h",
    "webui/web_ui_ios_controller.cc",
    "webui/web_ui_ios_controller.h",
    "webui/web_ui_ios_controller_factory.h",
    "webui/web_ui_ios_message_handler.cc",
    "webui/web_ui_ios_message_handler.h",
  ]

  libs = [ "WebKit.framework" ]

  configs += [ "//build/config/compiler:enable_arc" ]
}

# This is a separate target as it is used by Cronet.
source_set("user_agent") {
  deps = [
    "//base",
  ]

  sources = [
    "user_agent.h",
    "user_agent.mm",
  ]

  configs += [ "//build/config/compiler:enable_arc" ]
}
