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

import("//build/config/jumbo.gni")
import("//third_party/blink/renderer/platform/platform.gni")

blink_platform_sources("scheduler") {
  sources = [
    "base/enqueue_order.cc",
    "base/enqueue_order.h",
    "base/graceful_queue_shutdown_helper.cc",
    "base/graceful_queue_shutdown_helper.h",
    "base/intrusive_heap.h",
    "base/lazy_now.cc",
    "base/lazy_now.h",
    "base/moveable_auto_lock.h",
    "base/real_time_domain.cc",
    "base/real_time_domain.h",
    "base/sequenced_task_source.h",
    "base/task_queue.cc",
    "base/task_queue.h",
    "base/task_queue_impl.cc",
    "base/task_queue_impl.h",
    "base/task_queue_manager.h",
    "base/task_queue_manager_impl.cc",
    "base/task_queue_manager_impl.h",
    "base/task_queue_selector.cc",
    "base/task_queue_selector.h",
    "base/task_queue_selector_logic.h",
    "base/task_time_observer.h",
    "base/thread_controller.h",
    "base/thread_controller_impl.cc",
    "base/thread_controller_impl.h",
    "base/time_domain.cc",
    "base/time_domain.h",
    "base/virtual_time_domain.cc",
    "base/virtual_time_domain.h",
    "base/work_queue.cc",
    "base/work_queue.h",
    "base/work_queue_sets.cc",
    "base/work_queue_sets.h",
    "child/cancelable_closure_holder.cc",
    "child/cancelable_closure_holder.h",
    "child/compositor_metrics_helper.cc",
    "child/compositor_metrics_helper.h",
    "child/default_params.h",
    "child/features.h",
    "child/idle_canceled_delayed_task_sweeper.cc",
    "child/idle_canceled_delayed_task_sweeper.h",
    "child/idle_helper.cc",
    "child/idle_helper.h",
    "child/metrics_helper.cc",
    "child/metrics_helper.h",
    "child/page_visibility_state.cc",
    "child/page_visibility_state.h",
    "child/pollable_thread_safe_flag.cc",
    "child/pollable_thread_safe_flag.h",
    "child/process_state.cc",
    "child/process_state.h",
    "child/single_thread_idle_task_runner.cc",
    "child/task_runner_impl.cc",
    "child/task_runner_impl.h",
    "child/web_scheduler_impl.cc",
    "child/web_scheduler_impl.h",
    "child/webthread_base.cc",
    "child/webthread_impl_for_worker_scheduler.cc",
    "child/webthread_impl_for_worker_scheduler.h",
    "child/worker_metrics_helper.cc",
    "child/worker_metrics_helper.h",
    "child/worker_scheduler.cc",
    "child/worker_scheduler.h",
    "child/worker_scheduler_proxy.cc",
    "child/worker_scheduler_proxy.h",
    "child/worker_task_queue.cc",
    "child/worker_task_queue.h",
    "common/scheduler_helper.cc",
    "common/scheduler_helper.h",
    "common/throttling/budget_pool.cc",
    "common/throttling/budget_pool.h",
    "common/throttling/cpu_time_budget_pool.cc",
    "common/throttling/cpu_time_budget_pool.h",
    "common/throttling/task_queue_throttler.cc",
    "common/throttling/task_queue_throttler.h",
    "common/throttling/throttled_time_domain.cc",
    "common/throttling/throttled_time_domain.h",
    "common/throttling/wake_up_budget_pool.cc",
    "common/throttling/wake_up_budget_pool.h",
    "main_thread/auto_advancing_virtual_time_domain.cc",
    "main_thread/auto_advancing_virtual_time_domain.h",
    "main_thread/deadline_task_runner.cc",
    "main_thread/deadline_task_runner.h",
    "main_thread/frame_origin_type.cc",
    "main_thread/frame_origin_type.h",
    "main_thread/frame_scheduler_impl.cc",
    "main_thread/frame_scheduler_impl.h",
    "main_thread/idle_time_estimator.cc",
    "main_thread/idle_time_estimator.h",
    "main_thread/main_thread_scheduler_helper.cc",
    "main_thread/main_thread_scheduler_helper.h",
    "main_thread/main_thread_scheduler_impl.cc",
    "main_thread/main_thread_scheduler_impl.h",
    "main_thread/main_thread_task_queue.cc",
    "main_thread/main_thread_task_queue.h",
    "main_thread/page_scheduler_impl.cc",
    "main_thread/page_scheduler_impl.h",
    "main_thread/queueing_time_estimator.cc",
    "main_thread/queueing_time_estimator.h",
    "main_thread/render_widget_signals.cc",
    "main_thread/render_widget_signals.h",
    "main_thread/renderer_metrics_helper.cc",
    "main_thread/renderer_metrics_helper.h",
    "main_thread/task_cost_estimator.cc",
    "main_thread/task_cost_estimator.h",
    "main_thread/use_case.h",
    "main_thread/user_model.cc",
    "main_thread/user_model.h",
    "main_thread/web_main_thread_scheduler.cc",
    "main_thread/web_render_widget_scheduling_state.cc",
    "public/frame_or_worker_scheduler.h",
    "public/frame_scheduler.h",
    "public/non_main_thread_scheduler.h",
    "public/page_scheduler.h",
    "public/thread_scheduler.h",
    "public/web_main_thread_scheduler.h",
    "renderer/frame_status.cc",
    "renderer/frame_status.h",
    "renderer/renderer_web_scheduler_impl.cc",
    "renderer/renderer_web_scheduler_impl.h",
    "renderer/web_scoped_virtual_time_pauser.cc",
    "renderer/webthread_impl_for_renderer_scheduler.cc",
    "renderer/webthread_impl_for_renderer_scheduler.h",
    "util/aggregated_metric_reporter.h",
    "util/task_duration_metric_reporter.cc",
    "util/task_duration_metric_reporter.h",
    "util/thread_cpu_throttler.cc",
    "util/thread_cpu_throttler.h",
    "util/thread_load_tracker.cc",
    "util/thread_load_tracker.h",
    "util/thread_type.h",
    "util/tracing_helper.cc",
    "util/tracing_helper.h",
    "utility/webthread_impl_for_utility_thread.cc",
    "utility/webthread_impl_for_utility_thread.h",
    "worker/compositor_thread_scheduler.cc",
    "worker/compositor_thread_scheduler.h",
    "worker/non_main_thread_scheduler.cc",
    "worker/non_main_thread_scheduler_helper.cc",
    "worker/non_main_thread_scheduler_helper.h",
    "worker/worker_thread_scheduler.cc",
    "worker/worker_thread_scheduler.h",
  ]

  deps = [
    "//base",
    "//cc",
    "//device/base/synchronization",
    "//services/metrics/public/cpp:ukm_builders",
    "//third_party/blink/renderer/platform:make_platform_generated",
    "//third_party/blink/renderer/platform/wtf",
  ]
}

jumbo_source_set("test_support") {
  testonly = true

  sources = [
    "base/test/task_queue_manager_for_test.cc",
    "base/test/task_queue_manager_for_test.h",
    "base/test/test_count_uses_time_source.cc",
    "base/test/test_count_uses_time_source.h",
    "base/test/test_task_queue.cc",
    "base/test/test_task_queue.h",
    "base/test/test_task_time_observer.h",
    "test/fake_frame_scheduler.h",
    "test/fake_page_scheduler.h",
    "test/fake_renderer_scheduler.cc",
    "test/fake_task_runner.cc",
    "test/fake_task_runner.h",
    "test/lazy_thread_controller_for_test.cc",
    "test/lazy_thread_controller_for_test.h",
    "test/renderer_scheduler_test_support.cc",
  ]

  deps = [
    "//base",
    "//base/test:test_support",
  ]

  configs += [ "//third_party/blink/renderer/platform:blink_platform_config" ]
}

jumbo_source_set("unit_tests") {
  testonly = true

  sources = [
    "base/intrusive_heap_unittest.cc",
    "base/task_queue_manager_impl_unittest.cc",
    "base/task_queue_selector_unittest.cc",
    "base/time_domain_unittest.cc",
    "base/work_queue_sets_unittest.cc",
    "base/work_queue_unittest.cc",
    "child/idle_canceled_delayed_task_sweeper_unittest.cc",
    "child/idle_helper_unittest.cc",
    "child/metrics_helper_unittest.cc",
    "child/webthread_impl_for_worker_scheduler_unittest.cc",
    "child/worker_scheduler_proxy_unittest.cc",
    "child/worker_scheduler_unittest.cc",
    "common/scheduler_helper_unittest.cc",
    "common/throttling/budget_pool_unittest.cc",
    "common/throttling/task_queue_throttler_unittest.cc",
    "main_thread/auto_advancing_virtual_time_domain_unittest.cc",
    "main_thread/deadline_task_runner_unittest.cc",
    "main_thread/frame_scheduler_impl_unittest.cc",
    "main_thread/idle_time_estimator_unittest.cc",
    "main_thread/main_thread_scheduler_impl_unittest.cc",
    "main_thread/page_scheduler_impl_unittest.cc",
    "main_thread/queueing_time_estimator_unittest.cc",
    "main_thread/render_widget_signals_unittest.cc",
    "main_thread/renderer_metrics_helper_unittest.cc",
    "main_thread/task_cost_estimator_unittest.cc",
    "main_thread/user_model_unittest.cc",
    "renderer/webthread_impl_for_renderer_scheduler_unittest.cc",
    "util/task_duration_metric_reporter_unittest.cc",
    "util/thread_load_tracker_unittest.cc",
    "util/tracing_helper_unittest.cc",
    "worker/worker_thread_scheduler_unittest.cc",
  ]

  deps = [
    "//base",
    "//base/test:test_support",
    "//components/viz/common",
    "//components/viz/test:test_support",
    "//testing/gmock",
    "//testing/gtest",
    "//third_party/blink/public:test_support",
  ]

  configs += [ "//third_party/blink/renderer/platform:blink_platform_config" ]
}

source_set("perf_tests") {
  testonly = true

  sources = [
    "base/task_queue_manager_perftest.cc",
  ]

  deps = [
    "//base",
    "//base/test:test_support",
    "//testing/gmock",
    "//testing/gtest",
    "//testing/perf",
  ]

  configs += [ "//third_party/blink/renderer/platform:blink_platform_config" ]
}
