# Copyright 2018 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("//third_party/blink/renderer/core/core.gni")

blink_core_sources("display_lock") {
  sources = [
    "before_activate_event.cc",
    "before_activate_event.h",
    "display_lock_budget.cc",
    "display_lock_budget.h",
    "display_lock_context.cc",
    "display_lock_context.h",
    "strict_yielding_display_lock_budget.cc",
    "strict_yielding_display_lock_budget.h",
    "unyielding_display_lock_budget.cc",
    "unyielding_display_lock_budget.h",
    "yielding_display_lock_budget.cc",
    "yielding_display_lock_budget.h",
  ]

  public_deps = [
    "//third_party/blink/renderer/bindings/core/v8:bindings_core_v8_generated",
  ]
}
