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

# This file specifies dependencies required to bootstrap perf_tools. It is in a
# minimal version of the format used by other DEPS files that gclient can read,
# but it should only be used to bootstrap perf_tools *outside* of a normal
# Chrome checkout.

deps = {
    "src/content/test/gpu/gpu_tests":
        "https://src.chromium.org/chrome/trunk/src/content/test/gpu/gpu_tests",
    "src/content/test/gpu/page_sets":
        "https://src.chromium.org/chrome/trunk/src/content/test/gpu/page_sets",
    "src/content/test/data/gpu":
        "https://src.chromium.org/chrome/trunk/src/content/test/data/gpu",
    "src/content/test/data/media":
        "https://src.chromium.org/chrome/trunk/src/content/test/data/media",
    # TODO(ihf): Figure out a different way to specify this dependency. This
    # directory needs to be checked out with the instructions provided by
    # https://src.chromium.org/chrome/trunk/src/third_party/webgl/README.chromium
    "src/third_party/webgl/src/sdk/tests":
        "",
    "src/content/test/gpu/run_gpu_test.py":
        "https://src.chromium.org/chrome/trunk/src/content/test/gpu/run_gpu_test.py",
    "src/tools/telemetry":
        "https://src.chromium.org/chrome/trunk/src/tools/telemetry",
    "src/third_party/catapult":
        "https://src.chromium.org/chrome/trunk/src/third_party/catapult",
}