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

import("//build/config/ui.gni")

group("services") {
  deps = [
    "//services/clipboard",
    "//services/gles2:lib",
    "//services/http_server",
    "//services/http_server/public",
    "//services/js",
    "//services/surfaces",
    "//services/test_service:bindings",
    "//services/tracing",
  ]

  if (!is_android) {
    deps += [ "//services/native_viewport" ]
  }

  if (use_aura) {
    deps += [
      "//services/view_manager",
      "//services/window_manager",
    ]
  }
}
