# 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("web_state") {
  deps = [
    ":context_menu",
    ":navigation_context",
    ":session_certificate_policy_cache",
    ":web_state_impl_header",
    ":wk_web_view_security_util",
    "//base",
    "//ios/web/interstitials",
    "//ios/web/navigation",
    "//ios/web/navigation:core",
    "//ios/web/public",
    "//ios/web/web_state/ui",
    "//ios/web/web_state/ui:crw_web_view_navigation_proxy",
    "//ios/web/webui",
    "//ui/gfx",
  ]

  sources = [
    "global_web_state_event_tracker.h",
    "global_web_state_event_tracker.mm",
    "global_web_state_observer.cc",
    "web_state.mm",
    "web_state_delegate.mm",
    "web_state_delegate_bridge.mm",
    "web_state_impl.mm",
    "web_state_observer.mm",
    "web_state_observer_bridge.mm",
    "web_state_policy_decider.mm",
    "web_state_weak_ptr_factory.h",
    "web_state_weak_ptr_factory.mm",
  ]

  libs = [ "WebKit.framework" ]

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

source_set("wk_web_view_security_util") {
  deps = [
    "//base",
    "//ios/web/public",
  ]

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

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

source_set("navigation_context") {
  deps = [
    "//base",
    "//ios/web/public",
  ]

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

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

source_set("web_state_impl_header") {
  deps = [
    "//base",
    "//ios/web/navigation:core",
    "//ios/web/public",
  ]

  sources = [
    "web_state_impl.h",
  ]

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

source_set("session_certificate_policy_cache") {
  deps = [
    "//base",
    "//ios/web/public",
  ]

  sources = [
    "session_certificate_policy_cache_impl.h",
    "session_certificate_policy_cache_impl.mm",
    "session_certificate_policy_cache_storage_builder.h",
    "session_certificate_policy_cache_storage_builder.mm",
  ]

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

source_set("crw_pass_kit_downloader") {
  deps = [
    "//base",
    "//components/url_formatter",
    "//ios/web/public",
  ]

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

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

source_set("error_translation_util") {
  deps = [
    "//base",
    "//net",
  ]

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

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

source_set("page_viewport_state") {
  deps = [
    "//base",
    "//net",
  ]

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

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

source_set("web_view_internal_creation_util") {
  deps = [
    "//base",
    "//ios/web/public",
    "//ios/web/public:user_agent",
    "//ios/web/web_state/ui:crw_context_menu_controller",
    "//ios/web/web_state/ui:wk_web_view_configuration_provider",
  ]

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

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

source_set("context_menu") {
  deps = [
    "//base",
    "//components/url_formatter",
    "//ios/web/public",
  ]

  sources = [
    "context_menu_constants.h",
    "context_menu_constants.mm",
    "context_menu_params.mm",
    "context_menu_params_utils.h",
    "context_menu_params_utils.mm",
    "form_activity_params.cc",
  ]

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