summaryrefslogtreecommitdiff
path: root/chromium/ios/chrome/browser/ui/tab_grid/BUILD.gn
blob: c0bd81956aa51e261c2d1a924f278a709278cd21 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
# 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("//ios/public/provider/chrome/browser/build_config.gni")

source_set("tab_grid") {
  sources = [
    "tab_grid_adaptor.h",
    "tab_grid_adaptor.mm",
    "tab_grid_coordinator.h",
    "tab_grid_coordinator.mm",
    "tab_grid_mediator.h",
    "tab_grid_mediator.mm",
  ]

  configs += [ "//build/config/compiler:enable_arc" ]

  deps = [
    ":tab_grid_ui",
    "grid:grid_ui",
    "//base",
    "//components/favicon/ios",
    "//ios/chrome/browser",
    "//ios/chrome/browser/browser_state",
    "//ios/chrome/browser/snapshots",
    "//ios/chrome/browser/tabs",
    "//ios/chrome/browser/ui/commands",
    "//ios/chrome/browser/ui/coordinators:chrome_coordinators",
    "//ios/chrome/browser/ui/main",
    "//ios/chrome/browser/ui/recent_tabs",
    "//ios/chrome/browser/ui/recent_tabs:recent_tabs_ui",
    "//ios/chrome/browser/ui/tab_switcher",
    "//ios/chrome/browser/web",
    "//ios/chrome/browser/web_state_list",
    "//ios/web",
    "//ui/gfx",
  ]
}

source_set("tab_grid_ui") {
  sources = [
    "tab_grid_bottom_toolbar.h",
    "tab_grid_bottom_toolbar.mm",
    "tab_grid_constants.h",
    "tab_grid_constants.mm",
    "tab_grid_empty_state_view.h",
    "tab_grid_empty_state_view.mm",
    "tab_grid_new_tab_button.h",
    "tab_grid_new_tab_button.mm",
    "tab_grid_page_control.h",
    "tab_grid_page_control.mm",
    "tab_grid_paging.h",
    "tab_grid_top_toolbar.h",
    "tab_grid_top_toolbar.mm",
    "tab_grid_transition_handler.h",
    "tab_grid_transition_handler.mm",
    "tab_grid_view_controller.h",
    "tab_grid_view_controller.mm",
  ]

  configs += [ "//build/config/compiler:enable_arc" ]

  deps = [
    "grid:grid_ui",
    "resources:new_tab_floating_button",
    "resources:new_tab_floating_button_incognito",
    "resources:new_tab_toolbar_button",
    "resources:new_tab_toolbar_button_incognito",
    "resources:page_control_assets",
    "//base",
    "//ios/chrome/app/strings",
    "//ios/chrome/browser",
    "//ios/chrome/browser/ui:ui_util",
    "//ios/chrome/browser/ui/recent_tabs:recent_tabs_ui",
    "//ios/chrome/browser/ui/tab_grid/transitions",
    "//ios/chrome/browser/ui/util:constraints_ui",
    "//ui/base",
  ]
}

source_set("unit_tests") {
  configs += [ "//build/config/compiler:enable_arc" ]
  testonly = true
  sources = [
    "tab_grid_coordinator_unittest.mm",
    "tab_grid_mediator_unittest.mm",
  ]
  deps = [
    ":tab_grid",
    ":tab_grid_ui",
    "grid:grid_ui",
    "//base",
    "//base/test:test_support",
    "//ios/chrome/browser",
    "//ios/chrome/browser/browser_state:test_support",
    "//ios/chrome/browser/tabs",
    "//ios/chrome/browser/ui/tab_switcher",
    "//ios/chrome/browser/web",
    "//ios/chrome/browser/web:test_support",
    "//ios/chrome/browser/web_state_list",
    "//ios/chrome/browser/web_state_list:test_support",
    "//ios/chrome/test:block_cleanup_test",
    "//ios/web/public/test",
    "//ios/web/public/test/fakes",
    "//testing/gtest",
    "//third_party/ocmock",
  ]
}

source_set("egtest_support") {
  configs += [ "//build/config/compiler:enable_arc" ]
  testonly = true
  sources = [
    "tab_grid_egtest_util.h",
    "tab_grid_egtest_util.mm",
  ]

  deps = [
    ":tab_grid_ui",
    "grid:grid_ui",
    "//base",
    "//ios/chrome/app/strings",
    "//ios/chrome/browser/ui:ui_util",
    "//ios/chrome/browser/ui/tools_menu/public",
    "//ios/chrome/test/app:test_support",
    "//ios/chrome/test/earl_grey:test_support",
    "//ios/testing:ios_test_support",
    "//ios/third_party/earl_grey:earl_grey+link",
    "//ui/base",
  ]
}

source_set("eg_tests") {
  configs += [ "//build/config/compiler:enable_arc" ]
  testonly = true
  sources = [
    "tab_grid_egtest.mm",
  ]

  deps = [
    ":egtest_support",
    "//ios/chrome/test/earl_grey:test_support",
  ]
  libs = [ "XCTest.framework" ]
}

source_set("hooks") {
  configs += [ "//build/config/compiler:enable_arc" ]
  testonly = true
  sources = [
    "tab_grid_egtests_hook.mm",
  ]
  deps = [
    "//ios/chrome/app:tests_hook",
  ]
}