# Copyright 2016 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.

source_set("webui") {
  configs += [ "//build/config/compiler:enable_arc" ]
  sources = [
    "about_ui.cc",
    "about_ui.h",
    "crashes_ui.cc",
    "crashes_ui.h",
    "flags_ui.cc",
    "flags_ui.h",
    "mojo_web_ui_ios_controller.h",
    "ntp_tiles_internals_ui.cc",
    "ntp_tiles_internals_ui.h",
    "physical_web_ui.cc",
    "physical_web_ui.h",
    "popular_sites_internals_ui.cc",
    "popular_sites_internals_ui.h",
    "version_handler.cc",
    "version_handler.h",
    "version_ui.h",
    "version_ui.mm",
  ]

  deps = [
    "//base",
    "//base:i18n",
    "//components/crash/core/browser",
    "//components/flags_ui",
    "//components/ntp_tiles",
    "//components/physical_web/data_source",
    "//components/physical_web/webui",
    "//components/prefs",
    "//components/resources",
    "//components/strings",
    "//components/version_info",
    "//components/version_ui",
    "//google_apis",
    "//ios/chrome/app/strings",
    "//ios/chrome/browser",
    "//ios/chrome/browser/browser_state",
    "//ios/chrome/browser/crash_report",
    "//ios/chrome/browser/metrics",
    "//ios/chrome/browser/ntp_tiles",
    "//ios/chrome/browser/ui",
    "//ios/chrome/common",
    "//ios/web",
    "//net",
    "//services/service_manager/public/cpp",
    "//third_party/brotli:dec",
    "//ui/base",
    "//url",
  ]
}

source_set("webui_internal") {
  configs += [ "//build/config/compiler:enable_arc" ]
  sources = [
    "chrome_web_ui_ios_controller_factory.h",
    "chrome_web_ui_ios_controller_factory.mm",
    "omaha_ui.cc",
    "omaha_ui.h",
    "signin_internals_ui_ios.cc",
    "signin_internals_ui_ios.h",
  ]
  deps = [
    ":webui",
    "//base",
    "//components/resources",
    "//components/signin/core/browser",
    "//ios/chrome/app/resources:ios_resources",
    "//ios/chrome/browser",
    "//ios/chrome/browser/browser_state",
    "//ios/chrome/browser/omaha",
    "//ios/chrome/browser/signin",
    "//ios/chrome/browser/ui/webui/gcm",
    "//ios/chrome/browser/ui/webui/net_export",
    "//ios/chrome/browser/ui/webui/sync_internals",
    "//ios/web",
    "//url",
  ]
}

source_set("eg_tests") {
  configs += [ "//build/config/compiler:enable_arc" ]
  testonly = true
  sources = [
    "web_ui_egtest.mm",
  ]
  deps = [
    "//base",
    "//components/strings",
    "//components/version_info",
    "//ios/chrome/browser",
    "//ios/chrome/browser/ui/omnibox:omnibox_internal",
    "//ios/chrome/test/app:test_support",
    "//ios/chrome/test/earl_grey:test_support",
    "//ios/testing:ios_test_support",
    "//ios/web",
    "//ui/base",
    "//url",
  ]
  libs = [ "XCTest.framework" ]
}
