# Copyright 2024 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

assert(is_win || is_mac || is_linux || is_chromeos || is_android)

source_set("page_info") {
  sources = [
    "chrome_page_info_delegate.h",
    "chrome_page_info_ui_delegate.h",
  ]
  public_deps = []

  if (is_android) {
    sources += [ "chrome_page_info_client.h" ]
    public_deps += [ "//components/page_info/android" ]
  } else {
    sources += [
      "about_this_site_side_panel.h",
      "merchant_trust_side_panel.h",
      "page_info_dialog.h",
      "page_info_infobar_delegate.h",
    ]
    public_deps += [ "//ui/views" ]
  }
  public_deps += [
    "//base",
    "//chrome/browser/infobars",
    "//components/page_info",
    "//components/page_info/core:proto",
    "//components/security_state/core",
    "//content/public/browser",
    "//url",
  ]
}

source_set("impl") {
  sources = [
    "chrome_page_info_delegate.cc",
    "chrome_page_info_ui_delegate.cc",
  ]
  deps = [
    "//chrome/browser/bluetooth",
    "//chrome/browser/page_info",
    "//chrome/browser/privacy_sandbox:headers",
    "//chrome/browser/serial",
    "//chrome/browser/ui:bubble_anchor_util",
    "//chrome/browser/ui:tab_dialogs",
    "//chrome/browser/ui/browser_window",
    "//chrome/browser/vr",
  ]

  if (is_android) {
    sources += [ "chrome_page_info_client.cc" ]
  } else {
    sources += [
      "page_info_dialog.cc",
      "page_info_infobar_delegate.cc",
    ]
    deps += [
      "//chrome/browser:certificate_viewer",
      "//chrome/browser/extensions",
      "//chrome/browser/smart_card",
      "//chrome/browser/ui:chrome_pages",
      "//chrome/browser/ui/browser_web_contents_delegate",
      "//chrome/browser/ui/tabs:tab_strip",
      "//chrome/browser/ui/web_applications",
      "//chrome/browser/web_applications",
    ]
    if (is_chromeos) {
      deps += [ "//chrome/browser/ash/floating_sso" ]
    }
  }
  deps += [
    ":page_info",
    "//base",
    "//chrome/app:branded_strings",
    "//chrome/browser:browser_process",
    "//chrome/browser/content_settings",
    "//chrome/browser/content_settings:content_settings_factory",
    "//chrome/browser/hid",
    "//chrome/browser/lookalikes",
    "//chrome/browser/permissions",
    "//chrome/browser/permissions/system",
    "//chrome/browser/picture_in_picture",
    "//chrome/browser/profiles:profile",
    "//chrome/browser/safe_browsing",
    "//chrome/browser/ssl",
    "//chrome/browser/subresource_filter",
    "//chrome/browser/ui:ui_features",
    "//chrome/browser/ui:url_identity",
    "//chrome/browser/ui/hats",
    "//chrome/browser/usb",
    "//chrome/common",
    "//chrome/common:chrome_features",
    "//chrome/common:constants",
    "//components/content_settings/browser",
    "//components/content_settings/core/common",
    "//components/content_settings/core/common:features",
    "//components/infobars/content",
    "//components/page_info/core",
    "//components/permissions",
    "//components/prefs",
    "//components/safe_browsing/core/browser:suspicious_site_warning_allowlist",
    "//components/security_interstitials/content:security_interstitial_page",
    "//components/security_state/content",
    "//components/strings:components_strings",
    "//components/subresource_filter/content/browser",
    "//components/vector_icons",
    "//components/webapps/common",
    "//content/public/common",
    "//net",
    "//services/network/public/cpp",
    "//ui/base",
    "//ui/events",
  ]
  public_deps = [ "//chrome/browser:browser_public_dependencies" ]
}

source_set("unit_tests") {
  testonly = true
  sources = [ "page_info_unittest.cc" ]
  deps = [
    ":page_info",
    "//base/test:test_support",
    "//chrome/browser/content_settings",
    "//chrome/browser/content_settings:content_settings_factory",
    "//chrome/browser/file_system_access",
    "//chrome/browser/history",
    "//chrome/browser/picture_in_picture",
    "//chrome/browser/ssl",
    "//chrome/browser/subresource_filter",
    "//chrome/browser/usb",
    "//chrome/common:chrome_features",
    "//chrome/common:constants",
    "//chrome/test:test_support",
    "//components/content_settings/core/browser",
    "//components/infobars/content",
    "//components/page_info/core",
    "//components/permissions",
    "//components/permissions:permissions_common",
    "//components/prefs",
    "//components/privacy_sandbox:features",
    "//components/safe_browsing:buildflags",
    "//components/safe_browsing/core/browser:safe_browsing_metrics_collector",
    "//components/security_interstitials/content:security_interstitial_page",
    "//components/strings:components_strings",
    "//components/subresource_filter/content/browser",
    "//content/test:test_support",
    "//net:test_support",
    "//services/device/public/cpp:test_support",
    "//services/network/public/cpp",
  ]
  if (!is_android) {
    deps += [ "//chrome/browser/ui/views:layout_provider" ]
  }
}
