Allow intent picker for external schemes
[chromium-blink-merge.git] / components / view_manager / BUILD.gn
bloba7544be93a062f938dec5efcbd2eb8b19d206c50
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/ui.gni")
6 import("//testing/test.gni")
7 import("//mojo/public/mojo_application.gni")
9 if (is_android) {
10   import("//build/config/android/config.gni")
11   import("//build/config/android/rules.gni")
13   group("view_manager") {
14     deps = [
15       ":lib",
16       ":loader",
17       "native_viewport",
18     ]
19   }
21   source_set("loader") {
22     sources = [
23       "android_loader.cc",
24       "android_loader.h",
25     ]
27     deps = [
28       "public/interfaces",
29       "//mojo/services/tracing:lib",
30       "//third_party/mojo/src/mojo/public/cpp/bindings",
31     ]
32   }
33 } else {
34   mojo_native_application("view_manager") {
35     sources = [
36       "main.cc",
37     ]
39     deps = [
40       ":lib",
41       "//base",
42       "//components/view_manager/public/interfaces",
43       "//components/view_manager/native_viewport",
44       "//mojo/application/public/cpp",
45       "//mojo/converters/geometry",
46       "//mojo/environment:chromium",
47       "//mojo/platform_handle",
48       "//third_party/mojo/src/mojo/public/cpp/bindings:bindings",
49       "//ui/events",
50       "//ui/events/platform",
51       "//ui/gl",
52     ]
54     data_deps = [ "//components/view_manager/surfaces" ]
55   }
58 source_set("lib") {
59   sources = [
60     "access_policy.h",
61     "access_policy_delegate.h",
62     "animation_runner.cc",
63     "animation_runner.h",
64     "animation_runner_observer.h",
65     "client_connection.cc",
66     "client_connection.h",
67     "connection_manager.cc",
68     "connection_manager.h",
69     "connection_manager_delegate.h",
70     "default_access_policy.cc",
71     "default_access_policy.h",
72     "display_manager.cc",
73     "display_manager.h",
74     "display_manager_delegate.h",
75     "display_manager_factory.h",
76     "event_dispatcher.cc",
77     "event_dispatcher.h",
78     "focus_controller.cc",
79     "focus_controller.h",
80     "focus_controller_delegate.h",
81     "gesture_manager.cc",
82     "gesture_manager.h",
83     "gesture_manager_delegate.h",
84     "scheduled_animation_group.cc",
85     "scheduled_animation_group.h",
86     "server_view.cc",
87     "server_view.h",
88     "server_view_delegate.h",
89     "server_view_drawn_tracker.cc",
90     "server_view_drawn_tracker.h",
91     "server_view_drawn_tracker_observer.h",
92     "server_view_observer.h",
93     "type_converters.cc",
94     "type_converters.h",
95     "view_coordinate_conversions.cc",
96     "view_coordinate_conversions.h",
97     "view_locator.cc",
98     "view_locator.h",
99     "view_manager_app.cc",
100     "view_manager_app.h",
101     "view_manager_root_connection.cc",
102     "view_manager_root_connection.h",
103     "view_manager_root_delegate.h",
104     "view_manager_root_impl.cc",
105     "view_manager_root_impl.h",
106     "view_manager_service_impl.cc",
107     "view_manager_service_impl.h",
108     "window_manager_access_policy.cc",
109     "window_manager_access_policy.h",
110   ]
112   public_deps = [
113     "//components/view_manager/public/cpp",
114   ]
116   deps = [
117     "//base",
118     "//cc/surfaces",
119     "//cc/surfaces:surface_id",
120     "//components/view_manager/public/cpp:common",
121     "//components/view_manager/public/interfaces",
122     "//components/view_manager/native_viewport",
123     "//mojo/application/public/cpp",
124     "//mojo/common:tracing_impl",
125     "//mojo/converters/geometry",
126     "//mojo/converters/input_events",
127     "//mojo/converters/surfaces",
128     "//third_party/mojo/src/mojo/public/cpp/bindings:callback",
129     "//ui/events",
130     "//ui/events/platform",
131     "//ui/gfx",
132     "//ui/gfx/geometry",
133     "//ui/gl:test_support",
134     "//ui/mojo/events:interfaces",
135     "//ui/mojo/geometry:interfaces",
136     "//ui/platform_window:platform_impls",
137   ]
140 source_set("test_support") {
141   testonly = true
143   sources = [
144     "test_change_tracker.cc",
145     "test_change_tracker.h",
146   ]
148   deps = [
149     "//base",
150     "//components/view_manager/public/cpp",
151     "//components/view_manager/public/cpp:common",
152     "//components/view_manager/public/interfaces",
153     "//mojo/common",
154     "//third_party/mojo/src/mojo/public/cpp/bindings:bindings",
155     "//ui/mojo/geometry:interfaces",
156   ]
159 group("tests") {
160   testonly = true
161   deps = [
162     ":apptests",
163     ":view_manager_unittests",
164     "//components/view_manager/public/cpp/tests:mojo_view_manager_lib_unittests",
165   ]
168 test("view_manager_unittests") {
169   sources = [
170     "animation_runner_unittest.cc",
171     "focus_controller_unittest.cc",
172     "gesture_manager_unittest.cc",
173     "scheduled_animation_group_unittest.cc",
174     "server_view_drawn_tracker_unittest.cc",
175     "test_server_view_delegate.cc",
176     "test_server_view_delegate.h",
177     "view_coordinate_conversions_unittest.cc",
178     "view_manager_service_unittest.cc",
179   ]
181   deps = [
182     ":test_support",
183     ":lib",
184     "//base",
185     "//base/test:test_config",
186     "//components/view_manager/public/cpp:common",
187     "//components/view_manager/public/interfaces",
188     "//mojo/application/public/interfaces",
189     "//mojo/converters/geometry",
190     "//mojo/converters/input_events",
191     "//mojo/environment:chromium",
192     "//mojo/platform_handle",
193     "//third_party/mojo/src/mojo/edk/test:run_all_unittests",
194     "//third_party/mojo/src/mojo/public/cpp/bindings:bindings",
195     "//ui/mojo/geometry:interfaces",
196     "//ui/mojo/events:interfaces",
197     "//testing/gtest",
198     "//ui/gfx",
199     "//ui/gfx:test_support",
200     "//ui/gfx/geometry",
201   ]
203   if (!is_android) {  # TODO(GYP) Enable on Android when osmesa links.
204     deps += [ "//third_party/mesa:osmesa" ]
205   }
208 mojo_native_application("apptests") {
209   output_name = "view_manager_apptests"
210   testonly = true
212   sources = [
213     "view_manager_client_apptest.cc",
214     "view_manager_service_apptest.cc",
215   ]
217   deps = [
218     ":test_support",
219     "//base",
220     "//base/test:test_config",
221     "//components/view_manager/public/cpp",
222     "//components/view_manager/public/cpp/tests:test_support",
223     "//components/view_manager/public/interfaces",
224     "//mojo/application/public/cpp:test_support",
225     "//ui/mojo/geometry:interfaces",
226     "//ui/mojo/geometry:util",
227   ]
229   data_deps = [ ":view_manager" ]