1cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)# Copyright 2014 The Chromium Authors. All rights reserved.
2cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)# Use of this source code is governed by a BSD-style license that can be
3cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)# found in the LICENSE file.
4cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
5cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)import("//build/config/ui.gni")
6cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
7cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)component("snapshot") {
8cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  sources = [
9cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    "snapshot.h",
10cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    "snapshot_android.cc",
11cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    "snapshot_async.cc",
12cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    "snapshot_async.h",
13cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    "snapshot_aura.cc",
14cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    "snapshot_export.h",
15cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    "snapshot_ios.mm",
16cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    "snapshot_mac.mm",
17cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    "snapshot_win.cc",
18cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    "snapshot_win.h",
19cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  ]
20cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
21cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  defines = [ "SNAPSHOT_IMPLEMENTATION" ]
22cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
23cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  deps = [
24cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    "//base",
25cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    "//skia",
26cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    "//ui/base",
27cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    "//ui/gfx",
28cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    "//ui/gfx/geometry",
29cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  ]
30cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
31cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  if (use_aura || is_android) {
32cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    deps += [
33cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)      "//cc",
34cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)      "//gpu/command_buffer/common",
35cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    ]
36cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  } else {
37cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    sources -= [
38cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)      "snapshot_async.cc",
39cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)      "snapshot_async.h",
40cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    ]
41cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  }
42cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
43cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  if (use_aura) {
44cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    deps += [
4503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)      "//ui/aura",
46cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)      "//ui/compositor",
47cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    ]
4846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  } else {
4946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)    sources -= [
5046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)      "snapshot_aura.cc"
5146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)    ]
52cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  }
53cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}
54cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
5503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)test("snapshot_unittests") {
5603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)  sources = [
5703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    "snapshot_aura_unittest.cc",
5803b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    "snapshot_mac_unittest.mm",
5903b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    "test/run_all_unittests.cc",
6003b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)  ]
6103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
6203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)  deps = [
6303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    ":snapshot",
6403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    "//base",
6503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    "//base/allocator",
6603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    "//base/test:test_support",
6703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    "//skia",
6803b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    "//testing/gtest",
6903b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    "//ui/base",
7003b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    "//ui/gfx",
7103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    "//ui/gfx/geometry",
721320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    "//ui/gl",
7303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)  ]
7403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
7503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)  if (use_aura) {
7603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    deps += [
7703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)      "//ui/aura:test_support",
7803b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)      "//ui/compositor",
7903b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)      "//ui/compositor:test_support",
8003b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)      "//ui/wm",
8103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    ]
8203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)  } else {
8303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    sources -= [ "snapshot_aura_unittest.cc" ]
8403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)  }
8503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)}
86cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
87cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)if (is_win) {
88cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  source_set("test_support") {
89cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    sources = [
90cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)      "test/snapshot_desktop.h",
91cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)      "test/snapshot_desktop_win.cc",
92cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    ]
93cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    deps = [
94cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)      ":snapshot",
95cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    ]
96cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  }
97cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}
98