| # 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. |
| |
| # There should be only one resource coordinator. It is currently |
| # in the browser process. So, only //content/browser should link to this target. |
| # Others modules should only need the public targets. |
| import("//services/catalog/public/tools/catalog.gni") |
| import("//services/service_manager/public/cpp/service.gni") |
| import("//services/service_manager/public/service_manifest.gni") |
| import("//services/service_manager/public/tools/test/service_test.gni") |
| |
| source_set("lib") { |
| sources = [ |
| "coordination_unit/coordination_unit_graph_observer.cc", |
| "coordination_unit/coordination_unit_graph_observer.h", |
| "coordination_unit/coordination_unit_impl.cc", |
| "coordination_unit/coordination_unit_impl.h", |
| "coordination_unit/coordination_unit_introspector_impl.cc", |
| "coordination_unit/coordination_unit_introspector_impl.h", |
| "coordination_unit/coordination_unit_manager.cc", |
| "coordination_unit/coordination_unit_manager.h", |
| "coordination_unit/coordination_unit_provider_impl.cc", |
| "coordination_unit/coordination_unit_provider_impl.h", |
| "coordination_unit/frame_coordination_unit_impl.cc", |
| "coordination_unit/frame_coordination_unit_impl.h", |
| "coordination_unit/metrics_collector.cc", |
| "coordination_unit/metrics_collector.h", |
| "coordination_unit/process_coordination_unit_impl.cc", |
| "coordination_unit/process_coordination_unit_impl.h", |
| "coordination_unit/tab_signal_generator_impl.cc", |
| "coordination_unit/tab_signal_generator_impl.h", |
| "coordination_unit/web_contents_coordination_unit_impl.cc", |
| "coordination_unit/web_contents_coordination_unit_impl.h", |
| "memory_instrumentation/coordinator_impl.cc", |
| "memory_instrumentation/coordinator_impl.h", |
| "memory_instrumentation/process_map.cc", |
| "memory_instrumentation/process_map.h", |
| "resource_coordinator_service.cc", |
| "resource_coordinator_service.h", |
| "service_callbacks_impl.cc", |
| "service_callbacks_impl.h", |
| ] |
| |
| public_deps = [ |
| "//base", |
| "//components/ukm:ukm", |
| "//mojo/public/cpp/bindings", |
| "//services/metrics/public/cpp:ukm_builders", |
| "//services/resource_coordinator/public/cpp:resource_coordinator_cpp", |
| "//services/service_manager/public/cpp/standalone_service:standalone_service", |
| ] |
| } |
| |
| service_manifest("manifest") { |
| name = "resource_coordinator" |
| source = "manifest.json" |
| } |
| |
| service("resource_coordinator") { |
| sources = [ |
| "service_main.cc", |
| ] |
| |
| deps = [ |
| ":lib", |
| "//mojo/public/cpp/system", |
| ] |
| } |
| |
| source_set("tests") { |
| testonly = true |
| |
| sources = [ |
| "coordination_unit/coordination_unit_graph_observer_unittest.cc", |
| "coordination_unit/coordination_unit_impl_unittest.cc", |
| "coordination_unit/coordination_unit_impl_unittest_util.cc", |
| "coordination_unit/coordination_unit_impl_unittest_util.h", |
| "coordination_unit/metrics_collector_unittest.cc", |
| "coordination_unit/mock_coordination_unit_graphs.cc", |
| "coordination_unit/mock_coordination_unit_graphs.h", |
| "coordination_unit/web_contents_coordination_unit_impl_unittest.cc", |
| "memory_instrumentation/coordinator_impl_unittest.cc", |
| "memory_instrumentation/process_map_unittest.cc", |
| "public/cpp/memory_instrumentation/os_metrics_unittest.cc", |
| "public/cpp/memory_instrumentation/tracing_integration_unittest.cc", |
| "public/cpp/tracing/chrome_trace_event_agent_unittest.cc", |
| "tracing/agent_registry_unittest.cc", |
| "tracing/coordinator_unittest.cc", |
| "tracing/recorder_unittest.cc", |
| "tracing/test_util.cc", |
| "tracing/test_util.h", |
| ] |
| |
| if (!is_android) { |
| sources += [ "resource_coordinator_service_unittest.cc" ] |
| } |
| |
| deps = [ |
| ":lib", |
| "//base", |
| "//base/test:test_support", |
| "//mojo/public/cpp/bindings", |
| "//services/resource_coordinator/public/cpp:resource_coordinator_cpp", |
| "//services/resource_coordinator/tracing:lib", |
| "//services/service_manager/public/cpp", |
| "//services/service_manager/public/cpp:service_test_support", |
| "//services/service_manager/public/interfaces", |
| "//testing/gmock", |
| "//testing/gtest", |
| ] |
| |
| data_deps = [ |
| ":resource_coordinator", |
| ":lib", |
| ] |
| } |
| |
| service_manifest("unittest_manifest") { |
| name = "resource_coordinator_unittests" |
| source = "unittest_manifest.json" |
| } |
| |
| catalog("tests_catalog") { |
| testonly = true |
| embedded_services = [ ":unittest_manifest" ] |
| standalone_services = [ ":manifest" ] |
| } |