blob: 84037aae4e9a202bb2448e287f5449907635e444 [file] [log] [blame]
# Copyright 2014 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.
if (is_android) {
import("//build/config/android/rules.gni")
}
static_library("feature_list") {
sources = [
"invalidation_switches.cc",
"invalidation_switches.h",
]
deps = [ "//base" ]
}
static_library("impl") {
sources = [
"channels_states.cc",
"channels_states.h",
"fcm_invalidation_listener.cc",
"fcm_invalidation_listener.h",
"fcm_invalidation_service.cc",
"fcm_invalidation_service.h",
"fcm_invalidation_service_base.cc",
"fcm_invalidation_service_base.h",
"fcm_network_handler.cc",
"fcm_network_handler.h",
"fcm_sync_network_channel.cc",
"fcm_sync_network_channel.h",
"invalidation_logger.cc",
"invalidation_logger.h",
"invalidation_logger_observer.h",
"invalidation_prefs.cc",
"invalidation_prefs.h",
"invalidation_service_util.cc",
"invalidation_service_util.h",
"invalidator_registrar_with_memory.cc",
"invalidator_registrar_with_memory.h",
"mock_ack_handler.cc",
"mock_ack_handler.h",
"per_user_topic_subscription_manager.cc",
"per_user_topic_subscription_manager.h",
"per_user_topic_subscription_request.cc",
"per_user_topic_subscription_request.h",
"profile_identity_provider.cc",
"profile_identity_provider.h",
"profile_invalidation_provider.cc",
"profile_invalidation_provider.h",
"status.cc",
"status.h",
"unacked_invalidation_set.cc",
"unacked_invalidation_set.h",
]
public_deps = [
":feature_list",
"//components/invalidation/public",
"//services/data_decoder/public/cpp",
]
deps = [
"//base",
"//base:i18n",
"//components/gcm_driver",
"//components/gcm_driver/common",
"//components/keyed_service/core",
"//components/pref_registry",
"//components/prefs",
"//components/signin/public/identity_manager",
# TODO(crbug.com/1029698): Depending on sync is a layering violation,
# currently necessary for metrics recording. Eventually the "whitelisted for
# metrics" bit should be part of a Topic.
"//components/sync/base",
"//google_apis",
"//net:net",
"//services/network/public/cpp",
"//services/network/public/mojom",
]
}
source_set("unit_tests") {
testonly = true
sources = [
"fcm_invalidation_listener_unittest.cc",
"fcm_invalidation_service_unittest.cc",
"fcm_network_handler_unittests.cc",
"invalidation_logger_unittest.cc",
"invalidator_registrar_with_memory_unittest.cc",
"per_user_topic_subscription_manager_unittest.cc",
"per_user_topic_subscription_request_unittest.cc",
]
deps = [
":impl",
":test_support",
"//base",
"//base/test:test_support",
"//components/gcm_driver:test_support",
"//components/gcm_driver/instance_id:test_support",
"//components/prefs",
"//components/prefs:test_support",
"//components/signin/public/identity_manager:test_support",
"//components/sync_preferences:test_support",
"//google_apis:test_support",
"//google_apis/gcm:gcm",
"//net",
"//net:test_support",
"//services/data_decoder/public/cpp:test_support",
"//services/network:test_support",
"//testing/gmock",
"//testing/gtest",
]
if (!is_android) {
# Non-Android tests.
sources += [
"single_topic_invalidation_set_unittest.cc",
"topic_invalidation_map_unittest.cc",
"unacked_invalidation_set_unittest.cc",
]
}
}
static_library("test_support") {
testonly = true
sources = [
"fake_invalidation_handler.cc",
"fake_invalidation_handler.h",
"fake_invalidation_service.cc",
"fake_invalidation_service.h",
"invalidation_service_test_template.cc",
"invalidation_service_test_template.h",
"invalidation_test_util.cc",
"invalidation_test_util.h",
"topic_invalidation_map_test_util.cc",
"topic_invalidation_map_test_util.h",
]
public_deps = [ ":impl" ]
deps = [
"//base",
"//components/gcm_driver:test_support",
"//components/keyed_service/core",
"//components/prefs:test_support",
"//net",
"//testing/gmock",
"//testing/gtest",
]
}