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

source_set("chromium") {
  sources = [
    "default_async_waiter.cc",
    "default_async_waiter.h",
    "default_logger.cc",
    "default_logger.h",
    "default_task_tracker.cc",
    "default_task_tracker.h",
    "environment.cc",

    # TODO(vtl): This is kind of ugly. (See TODO in logging.h.)
    "../public/cpp/environment/async_waiter.h",
    "../public/cpp/environment/lib/async_waiter.cc",
    "../public/cpp/environment/lib/logging.cc",
    "../public/cpp/environment/lib/scoped_task_tracking.cc",
    "../public/cpp/environment/lib/scoped_task_tracking.h",
    "../public/cpp/environment/logging.h",
  ]

  deps = [
    "//base",
    "//base/third_party/dynamic_annotations",
    "//mojo/common",
    "//mojo/message_pump",
    "//mojo/public/c/environment",
    "//mojo/public/cpp/bindings:callback",
    "//mojo/public/cpp/environment",
    "//mojo/public/cpp/system",
  ]
}
