1# Copyright 2016 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5source_set("tabs") {
6  configs += [ "//build/config/compiler:enable_arc" ]
7  sources = [
8    "background_tab_animation_view.h",
9    "background_tab_animation_view.mm",
10    "foreground_tab_animation_view.h",
11    "foreground_tab_animation_view.mm",
12    "switch_to_tab_animation_view.h",
13    "switch_to_tab_animation_view.mm",
14    "tab_strip_container_view.h",
15    "tab_strip_container_view.mm",
16    "tab_strip_containing.h",
17    "tab_strip_controller.h",
18    "tab_strip_controller.mm",
19    "tab_strip_view.h",
20    "tab_strip_view.mm",
21    "tab_view.h",
22    "tab_view.mm",
23    "tab_view_delegate.h",
24    "target_frame_cache.h",
25    "target_frame_cache.mm",
26  ]
27  public_deps = [ "//ios/chrome/browser/tabs" ]
28  deps = [
29    "resources:open_new_tab_background",
30    "resources:tabstrip_background_tab",
31    "resources:tabstrip_foreground_tab",
32    "resources:tabstrip_inactive_tab_close_button_color",
33    "resources:tabstrip_inactive_tab_text_color",
34    "resources:tabstrip_incognito_background_tab",
35    "resources:tabstrip_incognito_foreground_tab",
36    "resources:tabstrip_new_tab",
37    "resources:tabstrip_tab_switcher_count_button",
38    "resources:tabstrip_tab_switcher_count_button_pressed",
39    "resources:tabstrip_toggle_button_gradient",
40    "//base",
41    "//base:i18n",
42    "//components/favicon/ios",
43    "//ios/chrome/app/strings",
44    "//ios/chrome/browser",
45    "//ios/chrome/browser/browser_state",
46    "//ios/chrome/browser/drag_and_drop",
47    "//ios/chrome/browser/main:public",
48    "//ios/chrome/browser/snapshots",
49    "//ios/chrome/browser/ui:feature_flags",
50    "//ios/chrome/browser/ui/bubble",
51    "//ios/chrome/browser/ui/colors",
52    "//ios/chrome/browser/ui/commands",
53    "//ios/chrome/browser/ui/elements",
54    "//ios/chrome/browser/ui/fullscreen",
55    "//ios/chrome/browser/ui/fullscreen:feature_flags",
56    "//ios/chrome/browser/ui/gestures",
57    "//ios/chrome/browser/ui/image_util",
58    "//ios/chrome/browser/ui/ntp:util",
59    "//ios/chrome/browser/ui/open_in",
60    "//ios/chrome/browser/ui/popup_menu/public",
61    "//ios/chrome/browser/ui/tab_switcher/tab_grid/grid/resources:grid_cell_close_button",
62    "//ios/chrome/browser/ui/tabs/requirements",
63    "//ios/chrome/browser/ui/util",
64    "//ios/chrome/browser/url_loading",
65    "//ios/chrome/browser/web_state_list",
66    "//ios/chrome/common",
67    "//ios/chrome/common/ui/colors",
68    "//ios/chrome/common/ui/elements",
69    "//ios/chrome/common/ui/resources:default_world_favicon",
70    "//ios/chrome/common/ui/util",
71    "//ios/public/provider/chrome/browser",
72    "//ios/public/provider/chrome/browser/ui",
73    "//ios/third_party/material_components_ios",
74    "//ios/web",
75    "//ui/base",
76    "//ui/gfx",
77  ]
78  frameworks = [ "UIKit.framework" ]
79}
80
81source_set("coordinator") {
82  configs += [ "//build/config/compiler:enable_arc" ]
83  sources = [
84    "tab_strip_legacy_coordinator.h",
85    "tab_strip_legacy_coordinator.mm",
86  ]
87  deps = [
88    ":tabs",
89    "//ios/chrome/browser",
90    "//ios/chrome/browser/browser_state",
91    "//ios/chrome/browser/main:public",
92    "//ios/chrome/browser/ui/bubble",
93    "//ios/chrome/browser/ui/commands",
94    "//ios/chrome/browser/ui/coordinators:chrome_coordinators",
95    "//ios/chrome/browser/ui/tabs/requirements",
96  ]
97}
98
99source_set("unit_tests") {
100  configs += [ "//build/config/compiler:enable_arc" ]
101  testonly = true
102  sources = [ "tab_strip_controller_unittest.mm" ]
103  deps = [
104    ":tabs",
105    "//base",
106    "//ios/chrome/browser/browser_state:test_support",
107    "//ios/chrome/browser/main:public",
108    "//ios/chrome/browser/main:test_support",
109    "//ios/chrome/browser/sessions:test_support",
110    "//ios/chrome/browser/tabs",
111    "//ios/chrome/browser/ui/commands",
112    "//ios/chrome/browser/ui/util",
113    "//ios/chrome/browser/web_state_list",
114    "//ios/chrome/browser/web_state_list:test_support",
115    "//ios/web/public",
116    "//ios/web/public/test",
117    "//ios/web/public/test/fakes",
118    "//testing/gtest",
119    "//third_party/ocmock",
120  ]
121}
122
123source_set("eg2_tests") {
124  defines = [ "CHROME_EARL_GREY_2" ]
125  configs += [
126    "//build/config/compiler:enable_arc",
127    "//build/config/ios:xctest_config",
128  ]
129  testonly = true
130  sources = [ "tab_strip_egtest.mm" ]
131  deps = [
132    "//ios/chrome/test/earl_grey:eg_test_support+eg2",
133    "//ios/testing/earl_grey:eg_test_support+eg2",
134    "//ios/third_party/earl_grey2:test_lib",
135    "//net:test_support",
136  ]
137  frameworks = [ "UIKit.framework" ]
138}
139