# Copyright 2019 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# Internal library that embedders should not directly depend on.
source_set("lib") {
visibility = [
":unit_tests",
"//chrome/browser/notifications/scheduler",
"//chrome/browser/notifications/scheduler:factory",
"//chrome/browser/notifications/scheduler/test:test_lib",
]
sources = [
"background_task_coordinator.cc",
"background_task_coordinator.h",
"collection_store.h",
"display_decider.cc",
"display_decider.h",
"icon_converter.h",
"icon_converter_result.cc",
"icon_converter_result.h",
"icon_entry.cc",
"icon_entry.h",
"icon_store.cc",
"icon_store.h",
"impression_history_tracker.cc",
"impression_history_tracker.h",
"impression_store.cc",
"impression_store.h",
"impression_types.cc",
"impression_types.h",
"init_aware_scheduler.cc",
"init_aware_scheduler.h",
"noop_notification_schedule_service.cc",
"noop_notification_schedule_service.h",
"notification_entry.cc",
"notification_entry.h",
"notification_schedule_service_impl.cc",
"notification_schedule_service_impl.h",
"notification_scheduler.cc",
"notification_scheduler.h",
"notification_scheduler_context.cc",
"notification_scheduler_context.h",
"notification_store.cc",
"notification_store.h",
"png_icon_converter_impl.cc",
"png_icon_converter_impl.h",
"proto_conversion.cc",
"proto_conversion.h",
"scheduled_notification_manager.cc",
"scheduled_notification_manager.h",
"scheduler_config.cc",
"scheduler_config.h",
"scheduler_utils.cc",
"scheduler_utils.h",
"stats.cc",
"stats.h",
"webui_client.cc",
"webui_client.h",
]
configs += [ "//build/config/compiler:wexit_time_destructors" ]
# This target should not depend on anything in //chrome/* except the proto library.
deps = [
"//base",
"//chrome/app:generated_resources",
"//chrome/browser/notifications/proto",
"//chrome/browser/notifications/scheduler/public",
"//components/keyed_service/core",
"//components/leveldb_proto",
"//skia",
"//ui/base",
"//ui/gfx/codec",
]
}
source_set("unit_tests") {
testonly = true
sources = [
"background_task_coordinator_unittest.cc",
"display_decider_unittest.cc",
"icon_converter_unittest.cc",
"icon_store_unittest.cc",
"impression_history_tracker_unittest.cc",
"impression_store_unittest.cc",
"impression_types_unittest.cc",
"init_aware_scheduler_unittest.cc",
"notification_scheduler_unittest.cc",
"notification_store_unittest.cc",
"proto_conversion_unittest.cc",
"scheduled_notification_manager_unittest.cc",
"scheduler_config_unittest.cc",
"scheduler_utils_unittest.cc",
"stats_unittest.cc",
]
deps = [
"//chrome/browser/notifications/proto",
"//chrome/browser/notifications/scheduler/internal:lib",
"//chrome/browser/notifications/scheduler/public",
"//chrome/browser/notifications/scheduler/test:test_lib",
"//chrome/browser/notifications/scheduler/test:test_support",
"//components/leveldb_proto:test_support",
"//skia",
"//testing/gmock",
"//testing/gtest",
]
}