# 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("execution_context") {
  sources = [
    "context_lifecycle_notifier.cc",
    "context_lifecycle_notifier.h",
    "context_lifecycle_observer.cc",
    "context_lifecycle_observer.h",
    "context_lifecycle_state_observer.cc",
    "context_lifecycle_state_observer.h",
    "execution_context.cc",
    "execution_context.h",
    "remote_security_context.cc",
    "remote_security_context.h",
    "security_context.cc",
    "security_context.h",
  ]
}
