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

source_set("webui") {
  sources = [
    "net_export_tab_helper.h",
    "net_export_tab_helper.mm",
    "net_export_tab_helper_delegate.h",
    "show_mail_composer_context.h",
    "show_mail_composer_context.mm",
  ]
  deps = [
    "//base",
    "//ios/web",
  ]
  configs += [ "//build/config/compiler:enable_arc" ]
}

source_set("unit_tests") {
  configs += [ "//build/config/compiler:enable_arc" ]
  testonly = true
  sources = [
    "net_export_tab_helper_unittest.mm",
  ]
  deps = [
    ":webui",
    "//base",
    "//components/strings",
    "//ios/web",
    "//ios/web/public/test",
    "//testing/gtest",
  ]
}
