blob: f02ea81e9932f5236f02ee25512af1b50ee0906a [file] [log] [blame]
# 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("translate") {
configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"after_translate_infobar_controller.h",
"after_translate_infobar_controller.mm",
"before_translate_infobar_controller.h",
"before_translate_infobar_controller.mm",
"chrome_ios_translate_client.h",
"chrome_ios_translate_client.mm",
"language_selection_context.h",
"language_selection_context.mm",
"language_selection_delegate.h",
"language_selection_handler.h",
"never_translate_infobar_controller.h",
"never_translate_infobar_controller.mm",
"translate_accept_languages_factory.cc",
"translate_accept_languages_factory.h",
"translate_infobar_tags.h",
"translate_message_infobar_controller.h",
"translate_message_infobar_controller.mm",
"translate_option_selection_delegate.h",
"translate_option_selection_handler.h",
"translate_ranker_factory.cc",
"translate_ranker_factory.h",
"translate_ranker_metrics_provider.cc",
"translate_ranker_metrics_provider.h",
"translate_service_ios.cc",
"translate_service_ios.h",
]
deps = [
"//base",
"//components/infobars/core",
"//components/keyed_service/core",
"//components/keyed_service/ios",
"//components/language/core/browser",
"//components/metrics",
"//components/prefs",
"//components/strings",
"//components/translate/core/browser",
"//components/translate/core/common",
"//components/translate/ios/browser",
"//components/web_resource",
"//ios/chrome/app/strings",
"//ios/chrome/app/theme",
"//ios/chrome/browser",
"//ios/chrome/browser/browser_state",
"//ios/chrome/browser/infobars",
"//ios/chrome/browser/language",
"//ios/chrome/browser/ui/infobars:infobars_ui",
"//ios/chrome/browser/ui/translate:translate_ui",
"//ios/chrome/browser/ui/util",
"//ios/web",
"//third_party/metrics_proto",
"//ui/base",
"//ui/gfx",
"//url",
]
allow_circular_includes_from = [ "//ios/chrome/browser/infobars" ]
}
source_set("unit_tests") {
configs += [ "//build/config/compiler:enable_arc" ]
testonly = true
sources = [
"js_language_detection_manager_unittest.mm",
"translate_service_ios_unittest.cc",
]
deps = [
":translate",
"//base",
"//base/test:test_support",
"//components/translate/ios/browser",
"//ios/chrome/browser",
"//ios/chrome/browser/browser_state:test_support",
"//ios/chrome/browser/web:test_support",
"//ios/chrome/common",
"//ios/public/provider/chrome/browser:test_support",
"//ios/web",
"//ios/web/public/test",
"//testing/gmock:gmock",
"//testing/gtest",
"//url",
]
}
# Those tests do not use external URLs but fail if the network is unavailable
# as they explicitly check whether the network is up or not; it is not possible
# to safely instantiate a net::NetworkChangeNotifier::DisableForTest to disable
# those checks as this in not thread-safe. See http://crbug.com/709131 for more
# details.
source_set("external_url_eg_tests") {
configs += [ "//build/config/compiler:enable_arc" ]
testonly = true
sources = [
"translate_egtest.mm",
]
deps = [
":translate",
"//base",
"//base/test:test_support",
"//components/language/ios/browser",
"//components/strings",
"//components/translate/core/browser",
"//components/translate/core/common",
"//components/translate/ios/browser",
"//ios/chrome/browser/browser_state",
"//ios/chrome/browser/ui/translate:translate_ui",
"//ios/chrome/test/app:test_support",
"//ios/chrome/test/earl_grey:test_support",
"//ios/third_party/earl_grey:earl_grey+link",
"//ios/web:earl_grey_test_support",
"//ios/web/public/test",
"//ios/web/public/test/http_server",
"//net",
"//ui/base",
]
libs = [ "XCTest.framework" ]
}