# 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/WebKit/Source/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_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/scheduler_helper.cc",
    "child/scheduler_helper.h",
    "child/single_thread_idle_task_runner.cc",
    "child/task_runner_impl.cc",
    "child/task_runner_impl.h",
    "child/web_scheduler.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_global_scope_scheduler.cc",
    "child/worker_global_scope_scheduler.h",
    "child/worker_metrics_helper.cc",
    "child/worker_metrics_helper.h",
    "child/worker_scheduler_helper.cc",
    "child/worker_scheduler_helper.h",
    "child/worker_scheduler_proxy.cc",
    "child/worker_scheduler_proxy.h",
    "child/worker_task_queue.cc",
    "child/worker_task_queue.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/frame_origin_type.cc",
    "main_thread/frame_origin_type.h",
    "main_thread/frame_scheduler_impl.cc",
    "main_thread/frame_scheduler_impl.h",
    "main_thread/main_thread_scheduler.cc",
    "main_thread/main_thread_scheduler.h",
    "main_thread/page_scheduler_impl.cc",
    "main_thread/page_scheduler_impl.h",
    "main_thread/web_main_thread_scheduler.cc",
    "main_thread/web_render_widget_scheduling_state.cc",
    "public/frame_scheduler.h",
    "public/non_main_thread_scheduler.h",
    "public/page_scheduler.h",
    "public/web_main_thread_scheduler.h",
    "renderer/auto_advancing_virtual_time_domain.cc",
    "renderer/auto_advancing_virtual_time_domain.h",
    "renderer/deadline_task_runner.cc",
    "renderer/deadline_task_runner.h",
    "renderer/frame_status.cc",
    "renderer/frame_status.h",
    "renderer/idle_time_estimator.cc",
    "renderer/idle_time_estimator.h",
    "renderer/main_thread_scheduler_helper.cc",
    "renderer/main_thread_scheduler_helper.h",
    "renderer/main_thread_task_queue.cc",
    "renderer/main_thread_task_queue.h",
    "renderer/queueing_time_estimator.cc",
    "renderer/queueing_time_estimator.h",
    "renderer/render_widget_signals.cc",
    "renderer/render_widget_signals.h",
    "renderer/renderer_metrics_helper.cc",
    "renderer/renderer_metrics_helper.h",
    "renderer/renderer_web_scheduler_impl.cc",
    "renderer/renderer_web_scheduler_impl.h",
    "renderer/task_cost_estimator.cc",
    "renderer/task_cost_estimator.h",
    "renderer/user_model.cc",
    "renderer/user_model.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/worker_thread_scheduler.cc",
    "worker/worker_thread_scheduler.h",
  ]

  deps = [
    "//base",
    "//cc",
    "//device/base/synchronization",
    "//third_party/WebKit/Source/platform:make_platform_generated",
    "//third_party/WebKit/Source/platform/wtf",
  ]
}

jumbo_source_set("test_support") {
  testonly = true

  sources = [
    "base/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",
    "test/task_queue_manager_for_test.cc",
    "test/task_queue_manager_for_test.h",
    "test/test_task_queue.cc",
    "test/test_task_queue.h",
  ]

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

  configs += [ "//third_party/WebKit/Source/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/test_count_uses_time_source.cc",
    "base/test_count_uses_time_source.h",
    "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/scheduler_helper_unittest.cc",
    "child/webthread_impl_for_worker_scheduler_unittest.cc",
    "child/worker_global_scope_scheduler_unittest.cc",
    "child/worker_scheduler_proxy_unittest.cc",
    "common/throttling/budget_pool_unittest.cc",
    "common/throttling/task_queue_throttler_unittest.cc",
    "main_thread/frame_scheduler_impl_unittest.cc",
    "main_thread/main_thread_scheduler_unittest.cc",
    "main_thread/page_scheduler_impl_unittest.cc",
    "renderer/auto_advancing_virtual_time_domain_unittest.cc",
    "renderer/deadline_task_runner_unittest.cc",
    "renderer/idle_time_estimator_unittest.cc",
    "renderer/queueing_time_estimator_unittest.cc",
    "renderer/render_widget_signals_unittest.cc",
    "renderer/renderer_metrics_helper_unittest.cc",
    "renderer/task_cost_estimator_unittest.cc",
    "renderer/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/WebKit/public:test_support",
  ]

  configs += [ "//third_party/WebKit/Source/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/WebKit/Source/platform:blink_platform_config" ]
}
