# 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("static_content") {
  configs += [ "//build/config/compiler:enable_arc" ]
  sources = [
    "static_html_native_content.h",
    "static_html_native_content.mm",
    "static_html_view_controller.h",
    "static_html_view_controller.mm",
  ]
  deps = [
    "//base",
    "//ios/chrome/browser/ui",
    "//ios/web",
    "//net",
    "//ui/base",
  ]
}

source_set("unit_tests") {
  configs += [ "//build/config/compiler:enable_arc" ]
  testonly = true
  sources = [
    "static_html_native_content_unittest.mm",
    "static_html_view_controller_unittest.mm",
  ]
  deps = [
    ":static_content",
    "//base",
    "//base/test:test_support",
    "//ios/chrome/app/strings",
    "//ios/chrome/browser/browser_state:test_support",
    "//ios/chrome/browser/ui",
    "//ios/testing:ocmock_support",
    "//ios/web",
    "//ios/web/public/test",
    "//ios/web/public/test/fakes",
    "//net",
    "//testing/gtest",
    "//third_party/ocmock",
    "//ui/base",
  ]
}
