Make it clear that WeakPtrFactory is the last data member
[chromium-blink-merge.git] / mojo / mojo_services.gypi
blob4b686114eadae0a21885a37b73618063ca357c28
1 # Copyright (c) 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.
6   'targets': [
7     {
8       # GN version: //mojo/services/clipboard/
9       'target_name': 'mojo_clipboard',
10       'type': 'loadable_module',
11       'dependencies': [
12         '../base/base.gyp:base',
13         'mojo_base.gyp:mojo_common_lib',
14         'mojo_base.gyp:mojo_cpp_bindings',
15         'mojo_base.gyp:mojo_utility',
16         'mojo_base.gyp:mojo_application_chromium',
17         'mojo_clipboard_bindings',
18         '<(mojo_system_for_loadable_module)',
19       ],
20       'sources': [
21         'services/clipboard/clipboard_standalone_impl.cc',
22         'services/clipboard/clipboard_standalone_impl.h',
23         'services/clipboard/main.cc',
24       ],
25     },
26     {
27       # GN version: //mojo/services/public/interfaces/clipboard
28       'target_name': 'mojo_clipboard_bindings',
29       'type': 'static_library',
30       'sources': [
31         'services/public/interfaces/clipboard/clipboard.mojom',
32       ],
33       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
34       'dependencies': [
35         'mojo_base.gyp:mojo_cpp_bindings',
36       ],
37       'export_dependent_settings': [
38         'mojo_base.gyp:mojo_cpp_bindings',
39       ],
40     },
41     {
42       # GN version: //mojo/services/clipboard:mojo_clipboard_unittests
43       'target_name': 'mojo_clipboard_unittests',
44       'type': 'executable',
45       'dependencies': [
46         '../base/base.gyp:base',
47         '../base/base.gyp:test_support_base',
48         '../testing/gtest.gyp:gtest',
49         'mojo_application_manager',
50         'mojo_base.gyp:mojo_application_chromium',
51         'mojo_base.gyp:mojo_run_all_unittests',
52         'mojo_base.gyp:mojo_system_impl',
53         'mojo_clipboard_bindings',
54         'mojo_shell_test_support',
55       ],
56       'sources': [
57         'services/clipboard/clipboard_standalone_unittest.cc',
58       ],
59     },
60     {
61       # GN version: //mojo/services/html_viewer
62       'target_name': 'mojo_html_viewer',
63       'type': 'loadable_module',
64       'dependencies': [
65         '../cc/blink/cc_blink.gyp:cc_blink',
66         '../cc/cc.gyp:cc',
67         '../cc/cc.gyp:cc_surfaces',
68         '../media/blink/media_blink.gyp:media_blink',
69         '../media/media.gyp:media',
70         '../net/net.gyp:net',
71         '../skia/skia.gyp:skia',
72         '../third_party/WebKit/public/blink.gyp:blink',
73         '../ui/native_theme/native_theme.gyp:native_theme',
74         '../url/url.gyp:url_lib',
75         'mojo_base.gyp:mojo_application_chromium',
76         'mojo_base.gyp:mojo_common_lib',
77         'mojo_base.gyp:mojo_cpp_bindings',
78         'mojo_base.gyp:mojo_utility',
79         'mojo_clipboard_bindings',
80         'mojo_cc_support',
81         'mojo_content_handler_bindings',
82         'mojo_gpu_bindings',
83         'mojo_navigation_bindings',
84         'mojo_network_bindings',
85         'mojo_surfaces_bindings',
86         'mojo_view_manager_lib',
87         '<(mojo_system_for_loadable_module)',
88       ],
89       'include_dirs': [
90         'third_party/WebKit'
91       ],
92       'sources': [
93         'services/html_viewer/blink_basic_type_converters.cc',
94         'services/html_viewer/blink_basic_type_converters.h',
95         'services/html_viewer/blink_input_events_type_converters.cc',
96         'services/html_viewer/blink_input_events_type_converters.h',
97         'services/html_viewer/blink_platform_impl.cc',
98         'services/html_viewer/blink_platform_impl.h',
99         'services/html_viewer/blink_url_request_type_converters.cc',
100         'services/html_viewer/blink_url_request_type_converters.h',
101         'services/html_viewer/html_viewer.cc',
102         'services/html_viewer/html_document_view.cc',
103         'services/html_viewer/html_document_view.h',
104         'services/html_viewer/webclipboard_impl.cc',
105         'services/html_viewer/webclipboard_impl.h',
106         'services/html_viewer/webcookiejar_impl.cc',
107         'services/html_viewer/webcookiejar_impl.h',
108         'services/html_viewer/webmediaplayer_factory.cc',
109         'services/html_viewer/webmediaplayer_factory.h',
110         'services/html_viewer/webmimeregistry_impl.cc',
111         'services/html_viewer/webmimeregistry_impl.h',
112         'services/html_viewer/websockethandle_impl.cc',
113         'services/html_viewer/websockethandle_impl.h',
114         'services/html_viewer/webstoragenamespace_impl.cc',
115         'services/html_viewer/webstoragenamespace_impl.h',
116         'services/html_viewer/webthemeengine_impl.cc',
117         'services/html_viewer/webthemeengine_impl.h',
118         'services/html_viewer/webthread_impl.cc',
119         'services/html_viewer/webthread_impl.h',
120         'services/html_viewer/weburlloader_impl.cc',
121         'services/html_viewer/weburlloader_impl.h',
122         'services/html_viewer/weblayertreeview_impl.cc',
123         'services/html_viewer/weblayertreeview_impl.h',
124       ],
125     },
126     {
127       # GN version: //mojo/services/public/cpp/input_events
128       'target_name': 'mojo_input_events_lib',
129       'type': '<(component)',
130       'defines': [
131         'MOJO_INPUT_EVENTS_IMPLEMENTATION',
132       ],
133       'dependencies': [
134         '../base/base.gyp:base',
135         '../ui/events/events.gyp:events',
136         '../ui/gfx/gfx.gyp:gfx_geometry',
137         'mojo_base.gyp:mojo_environment_chromium',
138         'mojo_input_events_bindings',
139         'mojo_geometry_bindings',
140         'mojo_geometry_lib',
141         '<(mojo_system_for_component)',
142       ],
143       'sources': [
144         'services/public/cpp/input_events/lib/input_events_type_converters.cc',
145         'services/public/cpp/input_events/lib/mojo_extended_key_event_data.cc',
146         'services/public/cpp/input_events/lib/mojo_extended_key_event_data.h',
147         'services/public/cpp/input_events/input_events_type_converters.h',
148         'services/public/cpp/input_events/mojo_input_events_export.h',
149       ],
150     },
151     {
152       # GN version: //mojo/services/public/interfaces/input_events
153       'target_name': 'mojo_input_events_bindings',
154       'type': 'static_library',
155       'sources': [
156         'services/public/interfaces/input_events/input_event_constants.mojom',
157         'services/public/interfaces/input_events/input_events.mojom',
158         'services/public/interfaces/input_events/input_key_codes.mojom',
159       ],
160       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
161       'dependencies': [
162         'mojo_base.gyp:mojo_cpp_bindings',
163         'mojo_geometry_bindings',
164       ],
165       'export_dependent_settings': [
166         'mojo_base.gyp:mojo_cpp_bindings',
167         'mojo_geometry_bindings',
168       ],
169     },
170     {
171       # GN version: //mojo/services/public/interfaces/geometry
172       'target_name': 'mojo_geometry_bindings',
173       'type': 'static_library',
174       'sources': [
175         'services/public/interfaces/geometry/geometry.mojom',
176       ],
177       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
178       'dependencies': [
179         'mojo_base.gyp:mojo_cpp_bindings',
180       ],
181       'export_dependent_settings': [
182         'mojo_base.gyp:mojo_cpp_bindings',
183       ],
184     },
185     {
186       # GN version: //mojo/services/public/cpp/geometry
187       'target_name': 'mojo_geometry_lib',
188       'type': '<(component)',
189       'defines': [
190         'MOJO_GEOMETRY_IMPLEMENTATION',
191       ],
192       'dependencies': [
193         '../skia/skia.gyp:skia',
194         '../ui/gfx/gfx.gyp:gfx',
195         '../ui/gfx/gfx.gyp:gfx_geometry',
196         'mojo_base.gyp:mojo_environment_chromium',
197         'mojo_geometry_bindings',
198         '<(mojo_system_for_component)',
199       ],
200       'export_dependent_settings': [
201         '../ui/gfx/gfx.gyp:gfx',
202       ],
203       'sources': [
204         'services/public/cpp/geometry/lib/geometry_type_converters.cc',
205         'services/public/cpp/geometry/geometry_type_converters.h',
206         'services/public/cpp/geometry/mojo_geometry_export.h',
207       ],
208     },
209     {
210       # GN version: //mojo/services/public/cpp/surfaces
211       'target_name': 'mojo_surfaces_lib',
212       'type': '<(component)',
213       'defines': [
214         'MOJO_SURFACES_IMPLEMENTATION',
215       ],
216       'dependencies': [
217         '../base/base.gyp:base',
218         '../cc/cc.gyp:cc',
219         '../cc/cc.gyp:cc_surfaces',
220         '../skia/skia.gyp:skia',
221         '../gpu/gpu.gyp:gpu',
222         '../ui/gfx/gfx.gyp:gfx',
223         '../ui/gfx/gfx.gyp:gfx_geometry',
224         'mojo_base.gyp:mojo_environment_chromium',
225         'mojo_geometry_lib',
226         'mojo_surfaces_bindings',
227         '<(mojo_system_for_component)',
228       ],
229       'export_dependent_settings': [
230         'mojo_geometry_lib',
231         'mojo_surfaces_bindings',
232       ],
233       'sources': [
234         'services/public/cpp/surfaces/lib/surfaces_type_converters.cc',
235         'services/public/cpp/surfaces/lib/surfaces_utils.cc',
236         'services/public/cpp/surfaces/surfaces_type_converters.h',
237         'services/public/cpp/surfaces/surfaces_utils.h',
238         'services/public/cpp/surfaces/mojo_surfaces_export.h',
239       ],
240     },
241     {
242       # GN version: //mojo/services/public/cpp/surfaces/tests
243       'target_name': 'mojo_surfaces_lib_unittests',
244       'type': 'executable',
245       'dependencies': [
246         '../base/base.gyp:base',
247         '../base/base.gyp:test_support_base',
248         '../cc/cc.gyp:cc',
249         '../cc/cc.gyp:cc_surfaces',
250         '../gpu/gpu.gyp:gpu',
251         '../skia/skia.gyp:skia',
252         '../testing/gtest.gyp:gtest',
253         '../ui/gfx/gfx.gyp:gfx',
254         '../ui/gfx/gfx.gyp:gfx_geometry',
255         '../ui/gfx/gfx.gyp:gfx_test_support',
256         'mojo_base.gyp:mojo_environment_chromium',
257         'mojo_base.gyp:mojo_run_all_unittests',
258         'mojo_geometry_lib',
259         'mojo_surfaces_bindings',
260         'mojo_surfaces_lib',
261       ],
262       'sources': [
263         'services/public/cpp/surfaces/tests/surface_unittest.cc',
264       ],
265     },
266     {
267       # GN version: //mojo/services/gles2
268       'target_name': 'mojo_gles2_service',
269       'type': 'static_library',
270       'dependencies': [
271         '../base/base.gyp:base',
272         '../gpu/gpu.gyp:command_buffer_service',
273         '../ui/gfx/gfx.gyp:gfx',
274         '../ui/gfx/gfx.gyp:gfx_geometry',
275         '../ui/gl/gl.gyp:gl',
276         'mojo_base.gyp:mojo_gles2_bindings',
277       ],
278       'export_dependent_settings': [
279         'mojo_base.gyp:mojo_gles2_bindings',
280       ],
281       'sources': [
282         'services/gles2/command_buffer_impl.cc',
283         'services/gles2/command_buffer_impl.h',
284       ],
285     },
286     {
287       # GN version: //mojo/services/public/interfaces/gpu
288       'target_name': 'mojo_gpu_bindings',
289       'type': 'static_library',
290       'sources': [
291         'services/public/interfaces/gpu/gpu.mojom',
292       ],
293       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
294       'dependencies': [
295         'mojo_base.gyp:mojo_cpp_bindings',
296         'mojo_base.gyp:mojo_gles2_bindings',
297         'mojo_geometry_bindings',
298       ],
299       'export_dependent_settings': [
300         'mojo_base.gyp:mojo_cpp_bindings',
301         'mojo_base.gyp:mojo_gles2_bindings',
302         'mojo_geometry_bindings',
303       ],
304     },
305     {
306       # GN version: //mojo/services/public/interfaces/native_viewport
307       'target_name': 'mojo_native_viewport_bindings',
308       'type': 'static_library',
309       'sources': [
310         'services/public/interfaces/native_viewport/native_viewport.mojom',
311       ],
312       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
313       'dependencies': [
314         'mojo_base.gyp:mojo_cpp_bindings',
315         'mojo_base.gyp:mojo_gles2_bindings',
316         'mojo_geometry_bindings',
317         'mojo_input_events_bindings',
318         'mojo_surface_id_bindings',
319       ],
320       'export_dependent_settings': [
321         'mojo_base.gyp:mojo_cpp_bindings',
322         'mojo_base.gyp:mojo_gles2_bindings',
323         'mojo_geometry_bindings',
324         'mojo_input_events_bindings',
325         'mojo_surface_id_bindings',
326       ],
327     },
328     {
329       # GN version: //mojo/services/native_viewport
330       'target_name': 'mojo_native_viewport_service_lib',
331       # This is linked directly into the embedder, so we make it a static_library.
332       # TODO(davemoore): Make this a true service.
333       'type': 'static_library',
334       'dependencies': [
335         '../base/base.gyp:base',
336         '../cc/cc.gyp:cc_surfaces',
337         '../skia/skia.gyp:skia',
338         '../ui/events/events.gyp:events',
339         '../ui/gfx/gfx.gyp:gfx',
340         '../ui/gfx/gfx.gyp:gfx_geometry',
341         'mojo_base.gyp:mojo_application_chromium',
342         'mojo_base.gyp:mojo_common_lib',
343         'mojo_geometry_bindings',
344         'mojo_geometry_lib',
345         'mojo_gles2_service',
346         'mojo_gpu_bindings',
347         'mojo_input_events_lib',
348         'mojo_native_viewport_bindings',
349         'mojo_surfaces_bindings',
350         'mojo_surfaces_lib',
351       ],
352       'export_dependent_settings': [
353         'mojo_geometry_bindings',
354         'mojo_gpu_bindings',
355         'mojo_native_viewport_bindings',
356         'mojo_surfaces_bindings',
357       ],
358       'sources': [
359         'services/native_viewport/gpu_impl.cc',
360         'services/native_viewport/gpu_impl.h',
361         'services/native_viewport/native_viewport_impl.cc',
362         'services/native_viewport/native_viewport_impl.h',
363         'services/native_viewport/platform_viewport.h',
364         'services/native_viewport/platform_viewport_android.cc',
365         'services/native_viewport/platform_viewport_mac.mm',
366         'services/native_viewport/platform_viewport_ozone.cc',
367         'services/native_viewport/platform_viewport_stub.cc',
368         'services/native_viewport/platform_viewport_win.cc',
369         'services/native_viewport/platform_viewport_x11.cc',
370         'services/native_viewport/viewport_surface.cc',
371         'services/native_viewport/viewport_surface.h',
372       ],
373       'conditions': [
374         ['OS=="win" or OS=="android" or OS=="linux" or OS=="mac"', {
375           'sources!': [
376             'services/native_viewport/platform_viewport_stub.cc',
377           ],
378         }],
379         ['OS=="android"', {
380           'dependencies': [
381             'mojo_base.gyp:mojo_jni_headers',
382           ],
383         }],
384         ['OS=="win"', {
385           'dependencies': [
386             '../ui/platform_window/win/win_window.gyp:win_window',
387           ],
388         }],
389         ['use_x11==1', {
390           'dependencies': [
391             '../ui/platform_window/x11/x11_window.gyp:x11_window',
392             '../ui/events/platform/x11/x11_events_platform.gyp:x11_events_platform',
393           ],
394         }],
395         ['use_ozone==1', {
396           'dependencies': [
397             '../ui/ozone/ozone.gyp:ozone',
398           ],
399         }],
400       ],
401     },
402     {
403       # GN version: //mojo/services/public/interfaces/navigation
404       'target_name': 'mojo_navigation_bindings',
405       'type': 'static_library',
406       'sources': [
407         'services/public/interfaces/navigation/navigation.mojom',
408       ],
409       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
410       'export_dependent_settings': [
411         'mojo_base.gyp:mojo_cpp_bindings',
412       ],
413       'dependencies': [
414         'mojo_base.gyp:mojo_cpp_bindings',
415         'mojo_network_bindings',
416       ],
417     },
418     {
419       # GN version: //mojo/services/public/interfaces/content_handler
420       'target_name': 'mojo_content_handler_bindings',
421       'type': 'static_library',
422       'sources': [
423         'services/public/interfaces/content_handler/content_handler.mojom',
424       ],
425       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
426       'export_dependent_settings': [
427         'mojo_base.gyp:mojo_cpp_bindings',
428       ],
429       'dependencies': [
430         'mojo_base.gyp:mojo_application_bindings',
431         'mojo_base.gyp:mojo_cpp_bindings',
432         'mojo_network_bindings',
433       ],
434     },
435     {
436       # GN version: //mojo/services/public/interfaces/network
437       'target_name': 'mojo_network_bindings',
438       'type': 'static_library',
439       'sources': [
440         'services/public/interfaces/network/cookie_store.mojom',
441         'services/public/interfaces/network/network_error.mojom',
442         'services/public/interfaces/network/network_service.mojom',
443         'services/public/interfaces/network/url_loader.mojom',
444         'services/public/interfaces/network/web_socket.mojom',
445       ],
446       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
447       'export_dependent_settings': [
448         'mojo_base.gyp:mojo_cpp_bindings',
449       ],
450       'dependencies': [
451         'mojo_base.gyp:mojo_cpp_bindings',
452       ],
453     },
454     {
455       # GN version: //mojo/services/network:lib
456       'target_name': 'mojo_network_service_lib',
457       'type': 'static_library',
458       'dependencies': [
459         '../base/base.gyp:base',
460         '../net/net.gyp:net',
461         '../url/url.gyp:url_lib',
462         'mojo_base.gyp:mojo_common_lib',
463         'mojo_base.gyp:mojo_application_chromium',
464         'mojo_network_bindings',
465       ],
466       'export_dependent_settings': [
467         'mojo_network_bindings',
468       ],
469       'sources': [
470         'services/network/cookie_store_impl.cc',
471         'services/network/cookie_store_impl.h',
472         'services/network/network_context.cc',
473         'services/network/network_context.h',
474         'services/network/network_service_impl.cc',
475         'services/network/network_service_impl.h',
476         'services/network/url_loader_impl.cc',
477         'services/network/url_loader_impl.h',
478         'services/network/web_socket_impl.cc',
479         'services/network/web_socket_impl.h',
480       ],
481     },
482     {
483       # GN version: //mojo/services/network
484       'target_name': 'mojo_network_service',
485       'type': 'loadable_module',
486       'dependencies': [
487         'mojo_network_bindings',
488         'mojo_network_service_lib',
489         '<(mojo_system_for_loadable_module)',
490       ],
491       'export_dependent_settings': [
492         'mojo_network_bindings',
493       ],
494       'sources': [
495         'services/network/main.cc',
496       ],
497     },
498     {
499       # GN version: //mojo/services/surfaces
500       'target_name': 'mojo_surfaces_service',
501       'type': 'loadable_module',
502       'dependencies': [
503         '../base/base.gyp:base',
504         '../cc/cc.gyp:cc',
505         '../cc/cc.gyp:cc_surfaces',
506         '../ui/gfx/gfx.gyp:gfx_geometry',
507         'mojo_base.gyp:mojo_application_chromium',
508         'mojo_cc_support',
509         'mojo_geometry_bindings',
510         'mojo_geometry_lib',
511         'mojo_gpu_bindings',
512         'mojo_surfaces_bindings',
513         'mojo_surfaces_lib',
514         '<(mojo_system_for_loadable_module)',
515       ],
516       'includes': [
517         'mojo_public_gles2_for_loadable_module.gypi',
518       ],
519       'sources': [
520         'services/surfaces/surfaces_impl.cc',
521         'services/surfaces/surfaces_impl.h',
522         'services/surfaces/surfaces_service_application.cc',
523         'services/surfaces/surfaces_service_application.h',
524         'services/surfaces/surfaces_service_impl.cc',
525         'services/surfaces/surfaces_service_impl.h',
526       ],
527     },
528     {
529       # GN version: //mojo/services/public/cpp/view_manager:common
530       'target_name': 'mojo_view_manager_common',
531       'type': 'static_library',
532       'sources': [
533         'services/public/cpp/view_manager/types.h',
534       ],
535     },
536     {
537       # GN version: //mojo/services/public/interfaces/view_manager
538       'target_name': 'mojo_view_manager_bindings',
539       'type': 'static_library',
540       'sources': [
541         'services/public/interfaces/view_manager/view_manager.mojom',
542         'services/public/interfaces/view_manager/view_manager_constants.mojom',
543       ],
544       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
545       'dependencies': [
546         'mojo_base.gyp:mojo_application_bindings',
547         'mojo_base.gyp:mojo_cpp_bindings',
548         'mojo_geometry_bindings',
549         'mojo_input_events_bindings',
550         'mojo_surface_id_bindings',
551       ],
552       'export_dependent_settings': [
553         'mojo_base.gyp:mojo_application_bindings',
554         'mojo_base.gyp:mojo_cpp_bindings',
555         'mojo_geometry_bindings',
556         'mojo_input_events_bindings',
557         'mojo_surface_id_bindings',
558       ],
559     },
560     {
561       # GN version: //mojo/services/public/cpp/view_manager
562       'target_name': 'mojo_view_manager_lib',
563       'type': 'static_library',
564       'dependencies': [
565         '../base/base.gyp:base',
566         '../cc/cc.gyp:cc_surfaces',
567         '../gpu/gpu.gyp:gpu',
568         '../skia/skia.gyp:skia',
569         '../ui/events/events.gyp:events',
570         '../ui/gfx/gfx.gyp:gfx',
571         '../ui/gfx/gfx.gyp:gfx_geometry',
572         '../third_party/khronos/khronos.gyp:khronos_headers',
573         'mojo_base.gyp:mojo_application_chromium',
574         'mojo_base.gyp:mojo_application_bindings',
575         'mojo_core_window_manager_bindings',
576         'mojo_geometry_bindings',
577         'mojo_geometry_lib',
578         'mojo_surfaces_bindings',
579         'mojo_surfaces_lib',
580         'mojo_view_manager_bindings',
581         'mojo_view_manager_common',
582         'mojo_gpu_bindings',
583       ],
584       'includes': [
585         'mojo_public_gles2_for_loadable_module.gypi',
586       ],
587       'sources': [
588         'services/public/cpp/view_manager/lib/bitmap_uploader.cc',
589         'services/public/cpp/view_manager/lib/bitmap_uploader.h',
590         'services/public/cpp/view_manager/lib/view.cc',
591         'services/public/cpp/view_manager/lib/view_manager_client_factory.cc',
592         'services/public/cpp/view_manager/lib/view_manager_client_impl.cc',
593         'services/public/cpp/view_manager/lib/view_manager_client_impl.h',
594         'services/public/cpp/view_manager/lib/view_observer.cc',
595         'services/public/cpp/view_manager/lib/view_private.cc',
596         'services/public/cpp/view_manager/lib/view_private.h',
597         'services/public/cpp/view_manager/view.h',
598         'services/public/cpp/view_manager/view_manager.h',
599         'services/public/cpp/view_manager/view_manager_client_factory.h',
600         'services/public/cpp/view_manager/view_manager_delegate.h',
601         'services/public/cpp/view_manager/view_observer.h',
602         'services/public/cpp/view_manager/window_manager_delegate.h',
603       ],
604       'export_dependent_settings': [
605         'mojo_gpu_bindings',
606         'mojo_surfaces_bindings',
607         'mojo_view_manager_bindings',
608       ],
609     },
610     {
611       # GN version: //mojo/services/public/cpp/view_manager/tests:mojo_view_manager_lib_unittests
612       'target_name': 'mojo_view_manager_lib_unittests',
613       'type': 'executable',
614       'dependencies': [
615         '../base/base.gyp:base',
616         '../base/base.gyp:test_support_base',
617         '../testing/gtest.gyp:gtest',
618         '../ui/gfx/gfx.gyp:gfx',
619         '../ui/gfx/gfx.gyp:gfx_test_support',
620         'mojo_base.gyp:mojo_environment_chromium',
621         'mojo_geometry_bindings',
622         'mojo_geometry_lib',
623         'mojo_shell_test_support',
624         'mojo_view_manager_bindings',
625         'mojo_view_manager_lib',
626       ],
627       'sources': [
628         'services/public/cpp/view_manager/tests/view_unittest.cc',
629         'services/public/cpp/view_manager/tests/view_manager_unittest.cc',
630       ],
631       'conditions': [
632         ['use_aura==1', {
633           'dependencies': [
634             'mojo_view_manager_run_unittests'
635           ],
636         }, {  # use_aura==0
637           'dependencies': [
638             'mojo_base.gyp:mojo_run_all_unittests',
639           ],
640         }],
641       ],
642     },
643     {
644       # GN version: //mojo/services/public/interfaces/surfaces
645       'target_name': 'mojo_surfaces_bindings',
646       'type': 'static_library',
647       'sources': [
648         'services/public/interfaces/surfaces/surfaces.mojom',
649         'services/public/interfaces/surfaces/surfaces_service.mojom',
650         'services/public/interfaces/surfaces/quads.mojom',
651       ],
652       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
653       'dependencies': [
654         'mojo_base.gyp:mojo_cpp_bindings',
655         'mojo_base.gyp:mojo_gles2_bindings',
656         'mojo_geometry_bindings',
657         'mojo_surface_id_bindings',
658       ],
659       'export_dependent_settings': [
660         'mojo_base.gyp:mojo_cpp_bindings',
661         'mojo_base.gyp:mojo_gles2_bindings',
662         'mojo_geometry_bindings',
663         'mojo_surface_id_bindings',
664       ],
665     },
666     {
667       # GN version: //mojo/services/public/interfaces/surfaces:surface_id
668       'target_name': 'mojo_surface_id_bindings',
669       'type': 'static_library',
670       'sources': [
671         'services/public/interfaces/surfaces/surface_id.mojom',
672       ],
673       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
674       'dependencies': [
675         'mojo_base.gyp:mojo_cpp_bindings',
676       ],
677       'export_dependent_settings': [
678         'mojo_base.gyp:mojo_cpp_bindings',
679       ],
680     },
681     {
682       # GN version: //mojo/services/test_service:bindings
683       'target_name': 'mojo_test_service_bindings',
684       'type': 'static_library',
685       'sources': [
686          # TODO(tim): Move to services/public/interfaces?
687         'services/test_service/test_request_tracker.mojom',
688         'services/test_service/test_service.mojom',
689       ],
690       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
691       'export_dependent_settings': [
692         'mojo_base.gyp:mojo_cpp_bindings',
693       ],
694       'dependencies': [
695         'mojo_base.gyp:mojo_cpp_bindings',
696       ],
697     },
698     {
699       # GN version: //mojo/services/test_service
700       'target_name': 'mojo_test_app',
701       'type': 'loadable_module',
702       'dependencies': [
703         '../base/base.gyp:base',
704         'mojo_base.gyp:mojo_utility',
705         'mojo_base.gyp:mojo_application_standalone',
706         'mojo_test_service_bindings',
707         '<(mojo_system_for_loadable_module)',
708       ],
709       'sources': [
710         'services/test_service/test_request_tracker_client_impl.cc',
711         'services/test_service/test_request_tracker_client_impl.h',
712         'services/test_service/test_service_application.cc',
713         'services/test_service/test_service_application.h',
714         'services/test_service/test_service_impl.cc',
715         'services/test_service/test_service_impl.h',
716         'services/test_service/test_time_service_impl.cc',
717         'services/test_service/test_time_service_impl.h',
718       ],
719     },
720     {
721       # GN version: //mojo/services/test_service:request_tracker
722       'target_name': 'mojo_test_request_tracker_app',
723       'type': 'loadable_module',
724       'dependencies': [
725         '../base/base.gyp:base',
726         'mojo_base.gyp:mojo_utility',
727         'mojo_base.gyp:mojo_application_standalone',
728         'mojo_test_service_bindings',
729         '<(mojo_system_for_loadable_module)',
730       ],
731       'sources': [
732         'services/test_service/test_request_tracker_client_impl.cc',
733         'services/test_service/test_request_tracker_client_impl.h',
734         'services/test_service/test_request_tracker_application.cc',
735         'services/test_service/test_request_tracker_application.h',
736         'services/test_service/test_time_service_impl.cc',
737         'services/test_service/test_time_service_impl.h',
738         'services/test_service/test_request_tracker_impl.cc',
739         'services/test_service/test_request_tracker_impl.h',
740       ],
741     },
742     {
743       # GN version: //mojo/services/public/interfaces/window_manager
744       'target_name': 'mojo_core_window_manager_bindings',
745       'type': 'static_library',
746       'sources': [
747         'services/public/interfaces/window_manager/window_manager.mojom',
748       ],
749       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
750       'export_dependent_settings': [
751         'mojo_base.gyp:mojo_cpp_bindings',
752       ],
753       'dependencies': [
754         'mojo_base.gyp:mojo_cpp_bindings',
755       ],
756     },
757   ],
758   'conditions': [
759     ['use_aura==1', {
760       'targets': [
761         {
762           # GN version: //mojo/services/view_manager
763           'target_name': 'mojo_view_manager',
764           'type': '<(component)',
765           'dependencies': [
766             '../base/base.gyp:base',
767             '../cc/cc.gyp:cc_surfaces',
768             '../skia/skia.gyp:skia',
769             '../ui/base/ui_base.gyp:ui_base',
770             '../ui/events/events.gyp:events',
771             '../ui/events/events.gyp:events_base',
772             '../ui/gfx/gfx.gyp:gfx',
773             '../ui/gfx/gfx.gyp:gfx_geometry',
774             'mojo_base.gyp:mojo_application_chromium',
775             'mojo_base.gyp:mojo_common_lib',
776             'mojo_geometry_bindings',
777             'mojo_geometry_lib',
778             'mojo_gpu_bindings',
779             'mojo_input_events_bindings',
780             'mojo_input_events_lib',
781             'mojo_native_viewport_bindings',
782             'mojo_surfaces_bindings',
783             'mojo_surfaces_lib',
784             'mojo_view_manager_bindings',
785             'mojo_view_manager_common',
786             '<(mojo_system_for_component)',
787           ],
788           'sources': [
789             'services/view_manager/access_policy.h',
790             'services/view_manager/access_policy_delegate.h',
791             'services/view_manager/connection_manager.cc',
792             'services/view_manager/connection_manager.h',
793             'services/view_manager/default_access_policy.cc',
794             'services/view_manager/default_access_policy.h',
795             'services/view_manager/display_manager.cc',
796             'services/view_manager/display_manager.h',
797             'services/view_manager/ids.h',
798             'services/view_manager/main.cc',
799             'services/view_manager/server_view.cc',
800             'services/view_manager/server_view.h',
801             'services/view_manager/server_view_delegate.h',
802             'services/view_manager/view_manager_export.h',
803             'services/view_manager/view_manager_init_service_context.cc',
804             'services/view_manager/view_manager_init_service_context.h',
805             'services/view_manager/view_manager_init_service_impl.cc',
806             'services/view_manager/view_manager_init_service_impl.h',
807             'services/view_manager/view_manager_service_impl.cc',
808             'services/view_manager/view_manager_service_impl.h',
809             'services/view_manager/window_manager_access_policy.cc',
810             'services/view_manager/window_manager_access_policy.h',
811           ],
812           'defines': [
813             'MOJO_VIEW_MANAGER_IMPLEMENTATION',
814           ],
815         },
816         {
817           # GN version: //mojo/services/public/cpp/view_manager/lib:run_unittests
818           'target_name': 'mojo_view_manager_run_unittests',
819           'type': 'static_library',
820           'dependencies': [
821             '../base/base.gyp:base',
822             '../base/base.gyp:test_support_base',
823             '../ui/gl/gl.gyp:gl',
824           ],
825           'sources': [
826             'services/public/cpp/view_manager/lib/view_manager_test_suite.cc',
827             'services/public/cpp/view_manager/lib/view_manager_test_suite.h',
828             'services/public/cpp/view_manager/lib/view_manager_unittests.cc',
829           ],
830           'conditions': [
831             ['OS=="linux" or OS=="win"', {
832               'dependencies': [
833                 '../third_party/mesa/mesa.gyp:osmesa',
834                 'mojo_native_viewport_service_lib',
835               ],
836             }],
837             ['use_x11==1', {
838               'dependencies': [
839                 '../ui/gfx/x/gfx_x11.gyp:gfx_x11',
840               ],
841             }],
842           ],
843         },
844         {
845           # GN version: //mojo/services/view_manager:mojo_view_manager_unittests
846           'target_name': 'mojo_view_manager_unittests',
847           'type': 'executable',
848           'dependencies': [
849             '../base/base.gyp:base',
850             '../base/base.gyp:test_support_base',
851             '../skia/skia.gyp:skia',
852             '../testing/gtest.gyp:gtest',
853             '../ui/aura/aura.gyp:aura',
854             '../ui/gfx/gfx.gyp:gfx_geometry',
855             '../ui/gl/gl.gyp:gl',
856             'mojo_application_manager',
857             'mojo_base.gyp:mojo_system_impl',
858             'mojo_base.gyp:mojo_application_chromium',
859             'mojo_geometry_bindings',
860             'mojo_geometry_lib',
861             'mojo_input_events_bindings',
862             'mojo_input_events_lib',
863             'mojo_shell_test_support',
864             'mojo_view_manager_bindings',
865             'mojo_view_manager_common',
866             'mojo_view_manager_run_unittests',
867           ],
868           'sources': [
869             'services/view_manager/test_change_tracker.cc',
870             'services/view_manager/test_change_tracker.h',
871             'services/view_manager/view_manager_unittest.cc',
872           ],
873         },
874         {
875           'target_name': 'package_mojo_view_manager',
876           'variables': {
877             'app_name': 'mojo_view_manager',
878           },
879           'includes': [ 'build/package_app.gypi' ],
880         },
881         {
882           # GN version: //mojo/services/window_manager:lib
883           'target_name': 'mojo_core_window_manager_lib',
884           'type': 'static_library',
885           'dependencies': [
886             '../base/base.gyp:base',
887             '../ui/base/ui_base.gyp:ui_base',
888             '../ui/gfx/gfx.gyp:gfx',
889             '../ui/gfx/gfx.gyp:gfx_geometry',
890             '../ui/wm/wm.gyp:wm',
891             'mojo_base.gyp:mojo_common_lib',
892             'mojo_base.gyp:mojo_application_chromium',
893             'mojo_aura_support',
894             'mojo_core_window_manager_bindings',
895             'mojo_input_events_lib',
896             'mojo_view_manager_lib',
897           ],
898           'sources': [
899             'services/window_manager/window_manager_app.cc',
900             'services/window_manager/window_manager_app.h',
901             'services/window_manager/window_manager_service_impl.cc',
902             'services/window_manager/window_manager_service_impl.h',
903           ],
904         },
905         {
906           # GN version: //mojo/services/window_manager
907           'target_name': 'mojo_core_window_manager',
908           'type': 'loadable_module',
909           'dependencies': [
910             'mojo_core_window_manager_lib',
911             '<(mojo_system_for_loadable_module)',
912           ],
913           'sources': [
914             'services/window_manager/main.cc',
915           ],
916         },
917         {
918           # GN version: //mojo/services/window_manager:mojo_core_window_manager_unittests
919           'target_name': 'mojo_core_window_manager_unittests',
920           'type': 'executable',
921           'dependencies': [
922             '../base/base.gyp:test_support_base',
923             '../testing/gtest.gyp:gtest',
924             '../ui/gl/gl.gyp:gl',
925             'mojo_application_manager',
926             'mojo_base.gyp:mojo_system_impl',
927             'mojo_base.gyp:mojo_environment_chromium',
928             'mojo_core_window_manager_bindings',
929             'mojo_shell_test_support',
930             'mojo_view_manager_bindings',
931             'mojo_view_manager_lib',
932           ],
933           'sources': [
934             'services/window_manager/window_manager_api_unittest.cc',
935             'services/window_manager/window_manager_unittests.cc',
936           ],
937           'conditions': [
938             ['OS=="linux"', {
939               'dependencies': [
940                 '../third_party/mesa/mesa.gyp:osmesa',
941                 'mojo_native_viewport_service_lib',
942               ],
943             }],
944             ['use_x11==1', {
945               'dependencies': [
946                 '../ui/gfx/x/gfx_x11.gyp:gfx_x11',
947               ],
948             }],
949           ],
950         },
951       ],
952     }],
953   ],