Let supervised users (child accounts in particular) modify default-installed Apps
[chromium-blink-merge.git] / ui / views / BUILD.gn
blobaa40f44c11f5c2e7f4432cd5a022c3eec138c78d
1 # Copyright 2014 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.
5 import("//build/config/features.gni")
6 import("//build/config/ui.gni")
7 import("//testing/test.gni")
9 gypi_values = exec_script("//build/gypi_to_gn.py",
10                           [ rebase_path("views.gyp") ],
11                           "scope",
12                           [ "views.gyp" ])
14 component("views") {
15   sources = gypi_values.views_sources
17   # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
18   configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
20   defines = [ "VIEWS_IMPLEMENTATION" ]
22   deps = [
23     "//base:i18n",
24     "//base/third_party/dynamic_annotations",
25     "//skia",
26     "//third_party/icu",
27     "//ui/accessibility",
28     "//ui/native_theme",
29     "//ui/resources",
30     "//ui/strings",
31     "//url",
32   ]
34   public_deps = [
35     "//base",
36     "//ui/accessibility:ax_gen",
37     "//ui/base",
38     "//ui/base/ime",
39     "//ui/compositor",
40     "//ui/events",
41     "//ui/events:events_base",
42     "//ui/events/platform",
43     "//ui/gfx",
44     "//ui/gfx/geometry",
45   ]
47   if (use_x11 && !is_chromeos) {
48     deps += [ "//ui/display/util" ]
49   }
50   if (is_linux && !is_chromeos) {
51     sources -= [ "window/window_button_order_provider.cc" ]
52     deps += [ "//ui/shell_dialogs" ]
53   } else {
54     sources -= [
55       "linux_ui/linux_ui.cc",
56       "linux_ui/linux_ui.h",
57       "linux_ui/window_button_order_observer.h",
58       "linux_ui/window_button_order_provider.cc",
59     ]
60   }
62   if (is_chromeos) {
63     sources -= [
64       "linux_ui/status_icon_linux.cc",
65       "linux_ui/status_icon_linux.h",
66     ]
67   }
69   if (is_win) {
70     sources += gypi_values.views_win_sources
71     libs = [
72       "dwmapi.lib",
73       "imm32.lib",
74       "oleacc.lib",
75     ]
76     ldflags = [ "/DELAYLOAD:user32.dll" ]
77     deps += [
78       "//third_party/iaccessible2",
79       "//third_party/wtl",
80     ]
81   }
83   if (use_ozone) {
84     deps += [ "//ui/ozone" ]
85   }
86   if (use_x11) {
87     configs += [
88       "//build/config/linux:x11",
89       "//build/config/linux:xrandr",
90     ]
91     deps += [
92       "//ui/events/devices",
93       "//ui/events/platform/x11",
94       "//ui/gfx/x",
95     ]
96   }
98   if (use_aura) {
99     sources += gypi_values.views_aura_sources
100     deps += [
101       "//ui/aura",
102       "//ui/wm",
103     ]
104     if (!is_chromeos) {
105       sources += gypi_values.views_desktop_aura_sources
106       if (use_x11) {
107         sources += gypi_values.views_desktop_aura_x11_sources
108         configs += [ "//build/config/linux:atk" ]
109       } else if (is_win) {
110         sources += gypi_values.views_desktop_aura_win_sources
111       } else if (use_ozone) {
112         sources += gypi_values.views_desktop_aura_ozone_sources
113       }
114       if (is_linux) {
115         sources += gypi_values.views_desktop_aura_linux_sources
116       }
117     }
118   }
120   if (is_mac) {
121     deps += [ "//ui/accelerated_widget_mac" ]
122   }
125 static_library("test_support") {
126   testonly = true
127   sources = gypi_values.views_test_support_sources
129   public_deps = [
130     ":views",
131   ]
132   deps = [
133     "//base",
134     "//ipc:test_support",
135     "//skia",
136     "//testing/gtest",
137     "//ui/base",
138     "//ui/base/ime",
139     "//ui/compositor",
140     "//ui/compositor:test_support",
141     "//ui/events",
142     "//ui/events:events_base",
143     "//ui/events:test_support",
144     "//ui/events/platform",
145     "//ui/gfx",
146     "//ui/gfx/geometry",
147   ]
149   if (use_aura) {
150     sources += gypi_values.views_test_support_aura_sources
151     deps += [
152       "//ui/aura",
153       "//ui/aura:test_support",
154       "//ui/wm",
155     ]
156     if (use_x11 && !is_chromeos) {
157       sources += gypi_values.views_test_support_desktop_aura_x11_sources
158     }
159   }
160   if (use_x11) {
161     deps += [ "//ui/gfx/x" ]
162   }
163   if (use_ozone || !use_x11) {
164     sources -= [ "test/x11_property_change_waiter.cc" ]
165   }
168 test("views_unittests") {
169   sources = gypi_values.views_unittests_sources
171   deps = [
172     ":test_support",
173     "//base",
174     "//base:i18n",
175     "//base/allocator",
176     "//base/test:test_support",
177     "//skia",
178     "//testing/gtest",
179     "//third_party/icu",
180     "//ui/accessibility",
181     "//ui/base",
182     "//ui/base/ime",
183     "//ui/base:test_support",
184     "//ui/compositor:test_support",
185     "//ui/events:test_support",
186     "//ui/events:events_base",
187     "//ui/events/platform",
188     "//ui/gfx",
189     "//ui/gfx/geometry",
190     "//ui/gl",
191     "//ui/resources",
192     "//ui/strings",
193     "//url",
194   ]
196   if (is_win) {
197     deps += [
198       "//third_party/iaccessible2",
199       "//third_party/wtl",
200     ]
201     libs = [
202       "imm32.lib",
203       "oleacc.lib",
204       "comctl32.lib",
205     ]
207     # TOOD(GYP)
208     #'msvs_settings': {
209     #  'VCManifestTool': {
210     #    'AdditionalManifestFiles': [
211     #      '$(ProjectDir)\\test\\views_unittest.manifest',
212     #    ],
213     #  },
214     #},
215   }
217   if (use_x11) {
218     configs += [
219       "//build/config/linux:x11",
220       "//build/config/linux:xext",
221     ]
222     deps += [
223       "//ui/events/devices",
224       "//ui/events/platform/x11",
225       "//ui/gfx/x",
226     ]
227   }
229   if (use_aura) {
230     sources += gypi_values.views_unittests_aura_sources
231     deps += [
232       "//ui/aura",
233       "//ui/aura:test_support",
234       "//ui/wm",
235     ]
236     if (!is_chromeos) {
237       sources += gypi_values.views_unittests_desktop_aura_sources
238       if (use_x11) {
239         sources += gypi_values.views_unittests_desktop_aurax11_sources
240       }
241     }
242   }
243   if (!is_chromeos) {
244     sources += gypi_values.views_unittests_desktop_sources
245   }
246   if (use_x11) {
247     deps += [
248       "//ui/events/platform/x11",
249       "//ui/gfx/x",
250     ]
251   }
253   if (is_mac) {
254     # views_unittests not yet compiling on Mac. http://crbug.com/378134
255     sources -= [
256       "bubble/bubble_window_targeter_unittest.cc",
257       "controls/button/custom_button_unittest.cc",
258       "controls/button/menu_button_unittest.cc",
259       "controls/menu/menu_controller_unittest.cc",
260       "controls/native/native_view_host_unittest.cc",
261       "focus/focus_manager_unittest.cc",
262       "ime/input_method_bridge_unittest.cc",
263       "widget/widget_unittest.cc",
264       "widget/window_reorderer_unittest.cc",
265     ]
266   }
269 if (is_mac) {
270   test("macviews_interactive_ui_tests") {
271     sources = [
272       "cocoa/bridged_native_widget_interactive_uitest.mm",
273       "run_all_unittests.cc",
274       "widget/native_widget_mac_interactive_uitest.mm",
275     ]
276     deps = [
277       ":test_support",
278       ":views",
279       "//base",
280       "//base/test:test_support",
281       "//skia",
282       "//testing/gtest",
283       "//ui/compositor",
284       "//ui/resources",
285       "//ui/resources:ui_test_pak",
286       "//ui/strings",
287     ]
288   }