1# Copyright (c) 2012 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{
5  'variables': {
6    'chromium_code': 1,
7  },
8  'target_defaults': {
9    'conditions': [
10      ['use_aura==1', {
11        'sources/': [ ['exclude', '_win\\.(h|cc)$'] ],
12        'dependencies': [ '../aura/aura.gyp:aura', ],
13      }],
14      ['OS!="linux" or chromeos==1', {
15        'sources/': [ ['exclude', '_linux\\.(h|cc)$'] ],
16      }],
17    ],
18  },
19  'targets': [
20    {
21      'target_name': 'views',
22      'type': '<(component)',
23      'dependencies': [
24        '../../base/base.gyp:base',
25        '../../base/base.gyp:base_i18n',
26        '../../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
27        '../../skia/skia.gyp:skia',
28        '../../third_party/icu/icu.gyp:icui18n',
29        '../../third_party/icu/icu.gyp:icuuc',
30        '../../url/url.gyp:url_lib',
31        '../base/strings/ui_strings.gyp:ui_strings',
32        '../compositor/compositor.gyp:compositor',
33        '../native_theme/native_theme.gyp:native_theme',
34        '../ui.gyp:ui',
35        '../ui.gyp:ui_resources',
36      ],
37      'defines': [
38        'VIEWS_IMPLEMENTATION',
39      ],
40      'sources': [
41        # All .cc, .h under views, except unittests
42        'accessibility/native_view_accessibility.cc',
43        'accessibility/native_view_accessibility.h',
44        'accessibility/native_view_accessibility_win.cc',
45        'accessibility/native_view_accessibility_win.h',
46        'accessible_pane_view.cc',
47        'accessible_pane_view.h',
48        'animation/bounds_animator.cc',
49        'animation/bounds_animator.h',
50        'animation/scroll_animator.cc',
51        'animation/scroll_animator.h',
52        'background.cc',
53        'background.h',
54        'border.cc',
55        'border.h',
56        'bubble/bubble_border.cc',
57        'bubble/bubble_border.h',
58        'bubble/bubble_delegate.cc',
59        'bubble/bubble_delegate.h',
60        'bubble/bubble_frame_view.cc',
61        'bubble/bubble_frame_view.h',
62        'bubble/tray_bubble_view.cc',
63        'bubble/tray_bubble_view.h',
64        'button_drag_utils.cc',
65        'button_drag_utils.h',
66        'color_chooser/color_chooser_listener.h',
67        'color_chooser/color_chooser_view.cc',
68        'color_chooser/color_chooser_view.h',
69        'color_constants.cc',
70        'color_constants.h',
71        'context_menu_controller.h',
72        'controls/button/blue_button.cc',
73        'controls/button/blue_button.h',
74        'controls/button/button.cc',
75        'controls/button/button.h',
76        'controls/button/button_dropdown.cc',
77        'controls/button/button_dropdown.h',
78        'controls/button/checkbox.cc',
79        'controls/button/checkbox.h',
80        'controls/button/custom_button.cc',
81        'controls/button/custom_button.h',
82        'controls/button/image_button.cc',
83        'controls/button/image_button.h',
84        'controls/button/label_button.cc',
85        'controls/button/label_button.h',
86        'controls/button/label_button_border.cc',
87        'controls/button/label_button_border.h',
88        'controls/button/menu_button.cc',
89        'controls/button/menu_button.h',
90        'controls/button/menu_button_listener.h',
91        'controls/button/radio_button.cc',
92        'controls/button/radio_button.h',
93        'controls/button/text_button.cc',
94        'controls/button/text_button.h',
95        'controls/combobox/combobox.cc',
96        'controls/combobox/combobox.h',
97        'controls/combobox/combobox_listener.h',
98        'controls/combobox/native_combobox_views.cc',
99        'controls/combobox/native_combobox_views.h',
100        'controls/combobox/native_combobox_win.cc',
101        'controls/combobox/native_combobox_win.h',
102        'controls/combobox/native_combobox_wrapper.h',
103        'controls/focusable_border.cc',
104        'controls/focusable_border.h',
105        'controls/glow_hover_controller.cc',
106        'controls/glow_hover_controller.h',
107        'controls/image_view.cc',
108        'controls/image_view.h',
109        'controls/label.cc',
110        'controls/label.h',
111        'controls/link.cc',
112        'controls/link.h',
113        'controls/link_listener.h',
114        'controls/menu/display_change_listener_aura.cc',
115        'controls/menu/menu.cc',
116        'controls/menu/menu.h',
117        'controls/menu/menu_2.cc',
118        'controls/menu/menu_2.h',
119        'controls/menu/menu_config.cc',
120        'controls/menu/menu_config.h',
121        'controls/menu/menu_config_views.cc',
122        'controls/menu/menu_config_win.cc',
123        'controls/menu/menu_controller.cc',
124        'controls/menu/menu_controller.h',
125        'controls/menu/menu_controller_aura.cc',
126        'controls/menu/menu_controller_delegate.h',
127        'controls/menu/menu_controller_win.cc',
128        'controls/menu/menu_delegate.cc',
129        'controls/menu/menu_delegate.h',
130        'controls/menu/menu_host.cc',
131        'controls/menu/menu_host.h',
132        'controls/menu/menu_host_root_view.cc',
133        'controls/menu/menu_host_root_view.h',
134        'controls/menu/menu_insertion_delegate_win.h',
135        'controls/menu/menu_item_view.cc',
136        'controls/menu/menu_item_view.h',
137        'controls/menu/menu_listener.cc',
138        'controls/menu/menu_listener.h',
139        'controls/menu/menu_model_adapter.cc',
140        'controls/menu/menu_model_adapter.h',
141        'controls/menu/menu_runner.cc',
142        'controls/menu/menu_runner.h',
143        'controls/menu/menu_scroll_view_container.cc',
144        'controls/menu/menu_scroll_view_container.h',
145        'controls/menu/menu_separator.h',
146        'controls/menu/menu_separator_views.cc',
147        'controls/menu/menu_separator_win.cc',
148        'controls/menu/menu_win.cc',
149        'controls/menu/menu_win.h',
150        'controls/menu/menu_wrapper.h',
151        'controls/menu/native_menu_win.cc',
152        'controls/menu/native_menu_win.h',
153        'controls/menu/menu_image_util.cc',
154        'controls/menu/menu_image_util.h',
155        'controls/menu/submenu_view.cc',
156        'controls/menu/submenu_view.h',
157        'controls/message_box_view.cc',
158        'controls/message_box_view.h',
159        'controls/native_control.cc',
160        'controls/native_control.h',
161        'controls/native_control_win.cc',
162        'controls/native_control_win.h',
163        'controls/native/native_view_host.cc',
164        'controls/native/native_view_host.h',
165        'controls/native/native_view_host_aura.cc',
166        'controls/native/native_view_host_aura.h',
167        'controls/native/native_view_host_win.cc',
168        'controls/native/native_view_host_win.h',
169        'controls/prefix_delegate.h',
170        'controls/prefix_selector.cc',
171        'controls/prefix_selector.h',
172        'controls/progress_bar.cc',
173        'controls/progress_bar.h',
174        'controls/resize_area.cc',
175        'controls/resize_area.h',
176        'controls/resize_area_delegate.h',
177        'controls/scroll_view.cc',
178        'controls/scroll_view.h',
179        'controls/scrollbar/base_scroll_bar.cc',
180        'controls/scrollbar/base_scroll_bar.h',
181        'controls/scrollbar/base_scroll_bar_button.cc',
182        'controls/scrollbar/base_scroll_bar_button.h',
183        'controls/scrollbar/base_scroll_bar_thumb.cc',
184        'controls/scrollbar/base_scroll_bar_thumb.h',
185        'controls/scrollbar/bitmap_scroll_bar.cc',
186        'controls/scrollbar/bitmap_scroll_bar.h',
187        'controls/scrollbar/kennedy_scroll_bar.cc',
188        'controls/scrollbar/kennedy_scroll_bar.h',
189        'controls/scrollbar/native_scroll_bar_views.cc',
190        'controls/scrollbar/native_scroll_bar_views.h',
191        'controls/scrollbar/native_scroll_bar_wrapper.h',
192        'controls/scrollbar/native_scroll_bar.cc',
193        'controls/scrollbar/native_scroll_bar.h',
194        'controls/scrollbar/overlay_scroll_bar.cc',
195        'controls/scrollbar/overlay_scroll_bar.h',
196        'controls/scrollbar/scroll_bar.cc',
197        'controls/scrollbar/scroll_bar.h',
198        'controls/separator.cc',
199        'controls/separator.h',
200        'controls/single_split_view.cc',
201        'controls/single_split_view.h',
202        'controls/single_split_view_listener.h',
203        'controls/slide_out_view.cc',
204        'controls/slide_out_view.h',
205        'controls/slider.cc',
206        'controls/slider.h',
207        'controls/styled_label.cc',
208        'controls/styled_label.h',
209        'controls/styled_label_listener.h',
210        'controls/tabbed_pane/tabbed_pane.cc',
211        'controls/tabbed_pane/tabbed_pane.h',
212        'controls/tabbed_pane/tabbed_pane_listener.h',
213        'controls/table/table_header.cc',
214        'controls/table/table_header.h',
215        'controls/table/table_utils.cc',
216        'controls/table/table_utils.h',
217        'controls/table/table_view.cc',
218        'controls/table/table_view.h',
219        'controls/table/table_view_observer.h',
220        'controls/table/table_view_row_background_painter.h',
221        'controls/textfield/native_textfield_views.cc',
222        'controls/textfield/native_textfield_views.h',
223        'controls/textfield/native_textfield_win.cc',
224        'controls/textfield/native_textfield_win.h',
225        'controls/textfield/native_textfield_wrapper.h',
226        'controls/textfield/textfield.cc',
227        'controls/textfield/textfield.h',
228        'controls/textfield/textfield_controller.cc',
229        'controls/textfield/textfield_controller.h',
230        'controls/textfield/textfield_views_model.cc',
231        'controls/textfield/textfield_views_model.h',
232        'controls/throbber.cc',
233        'controls/throbber.h',
234        'controls/tree/tree_view.cc',
235        'controls/tree/tree_view.h',
236        'controls/tree/tree_view_controller.cc',
237        'controls/tree/tree_view_controller.h',
238        'corewm/base_focus_rules.cc',
239        'corewm/base_focus_rules.h',
240        'corewm/compound_event_filter.cc',
241        'corewm/compound_event_filter.h',
242        'corewm/corewm_switches.cc',
243        'corewm/corewm_switches.h',
244        'corewm/cursor_manager.cc',
245        'corewm/cursor_manager.h',
246        'corewm/focus_controller.cc',
247        'corewm/focus_controller.h',
248        'corewm/focus_rules.h',
249        'corewm/image_grid.cc',
250        'corewm/image_grid.h',
251        'corewm/input_method_event_filter.cc',
252        'corewm/input_method_event_filter.h',
253        'corewm/native_cursor_manager.h',
254        'corewm/native_cursor_manager_delegate.h',
255        'corewm/shadow.cc',
256        'corewm/shadow.h',
257        'corewm/shadow_controller.cc',
258        'corewm/shadow_controller.h',
259        'corewm/shadow_types.cc',
260        'corewm/shadow_types.h',
261        'corewm/tooltip_controller.cc',
262        'corewm/tooltip_controller.h',
263        'corewm/visibility_controller.cc',
264        'corewm/visibility_controller.h',
265        'corewm/window_animations.cc',
266        'corewm/window_animations.h',
267        'corewm/window_modality_controller.cc',
268        'corewm/window_modality_controller.h',
269        'corewm/window_util.cc',
270        'corewm/window_util.h',
271        'debug_utils.cc',
272        'debug_utils.h',
273        'drag_controller.h',
274        'drag_utils.cc',
275        'drag_utils.h',
276        'focus/accelerator_handler.h',
277        'focus/accelerator_handler_aura.cc',
278        'focus/accelerator_handler_win.cc',
279        'focus/external_focus_tracker.cc',
280        'focus/external_focus_tracker.h',
281        'focus/focus_manager.cc',
282        'focus/focus_manager.h',
283        'focus/focus_manager_delegate.h',
284        'focus/focus_manager_factory.cc',
285        'focus/focus_manager_factory.h',
286        'focus/focus_search.cc',
287        'focus/focus_search.h',
288        'focus/view_storage.cc',
289        'focus/view_storage.h',
290        'focus/widget_focus_manager.cc',
291        'focus/widget_focus_manager.h',
292        'focus_border.cc',
293        'focus_border.h',
294        'ime/input_method_base.cc',
295        'ime/input_method_base.h',
296        'ime/input_method_bridge.cc',
297        'ime/input_method_bridge.h',
298        'ime/input_method_delegate.h',
299        'ime/input_method.h',
300        'ime/mock_input_method.cc',
301        'ime/mock_input_method.h',
302        'layout/box_layout.cc',
303        'layout/box_layout.h',
304        'layout/fill_layout.cc',
305        'layout/fill_layout.h',
306        'layout/grid_layout.cc',
307        'layout/grid_layout.h',
308        'layout/layout_constants.h',
309        'layout/layout_manager.cc',
310        'layout/layout_manager.h',
311        'metrics.cc',
312        'metrics.h',
313        'metrics_aura.cc',
314        'metrics_win.cc',
315        'mouse_watcher.cc',
316        'mouse_watcher.h',
317        'mouse_watcher_view_host.cc',
318        'mouse_watcher_view_host.h',
319        'native_theme_delegate.h',
320        'painter.cc',
321        'painter.h',
322        'repeat_controller.cc',
323        'repeat_controller.h',
324        'round_rect_painter.cc',
325        'round_rect_painter.h',
326        'shadow_border.cc',
327        'shadow_border.h',
328        'touchui/touch_editing_menu.cc',
329        'touchui/touch_editing_menu.h',
330        'touchui/touch_selection_controller_impl.cc',
331        'touchui/touch_selection_controller_impl.h',
332        'view.cc',
333        'view.h',
334        'view_constants.cc',
335        'view_constants.h',
336        'view_constants_aura.cc',
337        'view_constants_aura.h',
338        'view_aura.cc',
339        'view_model.cc',
340        'view_model.h',
341        'view_model_utils.cc',
342        'view_model_utils.h',
343        'view_win.cc',
344        'views_delegate.cc',
345        'views_delegate.h',
346        'widget/aero_tooltip_manager.cc',
347        'widget/aero_tooltip_manager.h',
348        'widget/child_window_message_processor.cc',
349        'widget/child_window_message_processor.h',
350        'widget/desktop_aura/desktop_activation_client.cc',
351        'widget/desktop_aura/desktop_activation_client.h',
352        'widget/desktop_aura/desktop_capture_client.cc',
353        'widget/desktop_aura/desktop_capture_client.h',
354        'widget/desktop_aura/desktop_cursor_loader_updater.h',
355        'widget/desktop_aura/desktop_cursor_loader_updater_aurax11.cc',
356        'widget/desktop_aura/desktop_cursor_loader_updater_aurax11.h',
357        'widget/desktop_aura/desktop_dispatcher_client.cc',
358        'widget/desktop_aura/desktop_dispatcher_client.h',
359        'widget/desktop_aura/desktop_drag_drop_client_aurax11.cc',
360        'widget/desktop_aura/desktop_drag_drop_client_aurax11.h',
361        'widget/desktop_aura/desktop_drag_drop_client_win.cc',
362        'widget/desktop_aura/desktop_drag_drop_client_win.h',
363        'widget/desktop_aura/desktop_drop_target_win.cc',
364        'widget/desktop_aura/desktop_drop_target_win.h',
365        'widget/desktop_aura/desktop_focus_rules.cc',
366        'widget/desktop_aura/desktop_focus_rules.h',
367        'widget/desktop_aura/desktop_layout_manager.cc',
368        'widget/desktop_aura/desktop_layout_manager.h',
369        'widget/desktop_aura/desktop_native_cursor_manager.cc',
370        'widget/desktop_aura/desktop_native_cursor_manager.h',
371        'widget/desktop_aura/desktop_native_widget_aura.cc',
372        'widget/desktop_aura/desktop_native_widget_aura.h',
373        'widget/desktop_aura/desktop_root_window_host.h',
374        'widget/desktop_aura/desktop_root_window_host_win.cc',
375        'widget/desktop_aura/desktop_root_window_host_win.h',
376        'widget/desktop_aura/desktop_root_window_host_x11.cc',
377        'widget/desktop_aura/desktop_root_window_host_x11.h',
378        'widget/desktop_aura/desktop_screen.h',
379        'widget/desktop_aura/desktop_screen_position_client.cc',
380        'widget/desktop_aura/desktop_screen_position_client.h',
381        'widget/desktop_aura/desktop_screen_win.cc',
382        'widget/desktop_aura/desktop_screen_win.h',
383        'widget/desktop_aura/desktop_screen_x11.cc',
384        'widget/desktop_aura/x11_desktop_handler.cc',
385        'widget/desktop_aura/x11_desktop_handler.h',
386        'widget/desktop_aura/x11_desktop_window_move_client.cc',
387        'widget/desktop_aura/x11_desktop_window_move_client.h',
388        'widget/desktop_aura/x11_whole_screen_move_loop.cc',
389        'widget/desktop_aura/x11_whole_screen_move_loop.h',
390        'widget/desktop_aura/x11_whole_screen_move_loop_delegate.h',
391        'widget/desktop_aura/x11_window_event_filter.cc',
392        'widget/desktop_aura/x11_window_event_filter.h',
393        'widget/drop_helper.cc',
394        'widget/drop_helper.h',
395        'widget/drop_target_win.cc',
396        'widget/drop_target_win.h',
397        'widget/root_view.cc',
398        'widget/root_view.h',
399        'widget/tooltip_manager_aura.cc',
400        'widget/tooltip_manager_aura.h',
401        'widget/tooltip_manager_win.cc',
402        'widget/tooltip_manager_win.h',
403        'widget/tooltip_manager.cc',
404        'widget/tooltip_manager.h',
405        'widget/monitor_win.cc',
406        'widget/monitor_win.h',
407        'widget/native_widget.h',
408        'widget/native_widget_aura.cc',
409        'widget/native_widget_aura.h',
410        'widget/native_widget_aura_window_observer.cc',
411        'widget/native_widget_aura_window_observer.h',
412        'widget/native_widget_delegate.h',
413        'widget/native_widget_private.h',
414        'widget/native_widget_win.cc',
415        'widget/native_widget_win.h',
416        'widget/widget.cc',
417        'widget/widget.h',
418        'widget/widget_aura_utils.cc',
419        'widget/widget_aura_utils.h',
420        'widget/widget_delegate.cc',
421        'widget/widget_delegate.h',
422        'widget/widget_deletion_observer.cc',
423        'widget/widget_deletion_observer.h',
424        'widget/widget_hwnd_utils.cc',
425        'widget/widget_hwnd_utils.h',
426        'widget/widget_observer.h',
427        'widget/window_reorderer.cc',
428        'widget/window_reorderer.h',
429        'win/appbar.cc',
430        'win/appbar.h',
431        'win/fullscreen_handler.cc',
432        'win/fullscreen_handler.h',
433        'win/hwnd_message_handler.cc',
434        'win/hwnd_message_handler.h',
435        'win/hwnd_message_handler_delegate.h',
436        'win/hwnd_util.h',
437        'win/hwnd_util_aurawin.cc',
438        'win/hwnd_util_win.cc',
439        'win/scoped_fullscreen_visibility.cc',
440        'win/scoped_fullscreen_visibility.h',
441        'window/client_view.cc',
442        'window/client_view.h',
443        'window/custom_frame_view.cc',
444        'window/custom_frame_view.h',
445        'window/dialog_client_view.cc',
446        'window/dialog_client_view.h',
447        'window/dialog_delegate.cc',
448        'window/dialog_delegate.h',
449        'window/frame_background.cc',
450        'window/frame_background.h',
451        'window/native_frame_view.cc',
452        'window/native_frame_view.h',
453        'window/non_client_view.cc',
454        'window/non_client_view.h',
455        'window/window_resources.h',
456        'window/window_shape.cc',
457        'window/window_shape.h',
458      ],
459      'include_dirs': [
460        '../../third_party/wtl/include',
461      ],
462      'conditions': [
463        ['use_aura==1', {
464          'sources!': [
465            'controls/native_control.cc',
466            'controls/native_control.h',
467            'controls/scrollbar/bitmap_scroll_bar.cc',
468            'controls/scrollbar/bitmap_scroll_bar.h',
469            'controls/table/table_view_observer.h',
470            'widget/aero_tooltip_manager.cc',
471            'widget/aero_tooltip_manager.h',
472            'widget/child_window_message_processor.cc',
473            'widget/child_window_message_processor.h',
474            'widget/tooltip_manager_win.cc',
475            'widget/tooltip_manager_win.h',
476          ],
477          'conditions': [
478            ['OS=="mac"', {
479              'sources/': [
480                ['exclude', 'mouse_watcher.cc'],
481                ['exclude', 'controls/menu/'],
482                ['exclude', 'controls/scrollbar/'],
483                ['exclude', 'focus/accelerator_handler_aura.cc'],
484              ],
485            }],
486            ['OS=="win"', {
487              'sources/': [
488                ['include', 'controls/menu/menu_insertion_delegate_win.h'],
489                ['include', 'controls/menu/native_menu_win.cc'],
490                ['include', 'controls/menu/native_menu_win.h'],
491                ['include', 'widget/desktop_aura/desktop_screen_win.cc'],
492                ['include', 'widget/desktop_aura/desktop_drag_drop_client_win.cc'],
493                ['include', 'widget/desktop_aura/desktop_drop_target_win.cc'],
494                ['include', 'widget/desktop_aura/desktop_root_window_host_win.cc'],
495                ['include', 'widget/monitor_win.cc'],
496                ['include', 'widget/monitor_win.h'],
497                ['include', 'win/appbar.cc'],
498                ['include', 'win/appbar.h'],
499              ],
500            }],
501          ],
502        }],
503        ['use_aura==0', {
504          'sources/': [
505            ['exclude', 'corewm'],
506            ['exclude', 'widget/desktop_aura'],
507            ['exclude', 'widget/window_reorderer.h'],
508            ['exclude', 'widget/window_reorderer.cc'],
509          ],
510          'sources!': [
511            'widget/native_widget_aura_window_observer.cc',
512            'widget/native_widget_aura_window_observer.h',
513            'widget/widget_aura_utils.cc',
514            'widget/widget_aura_utils.h',
515          ],
516        }],
517        ['chromeos==1', {
518          'sources/': [
519            ['exclude', 'widget/desktop_aura'],
520          ],
521        }],
522        ['use_ash==0', {
523          'sources!': [
524            'bubble/tray_bubble_view.cc',
525            'bubble/tray_bubble_view.h',
526          ],
527        }],
528        ['use_aura==0 and OS=="win"', {
529          'sources!': [
530            'controls/menu/menu_config_views.cc',
531            'controls/menu/menu_separator_views.cc',
532          ],
533        }],
534        ['use_aura==1 and OS=="win"', {
535          'sources/': [
536            ['include', 'controls/menu/menu_config_win.cc'],
537            ['include', 'controls/menu/menu_separator_win.cc'],
538            ['include', 'accessibility/native_view_accessibility_win.cc'],
539            ['include', 'accessibility/native_view_accessibility_win.h'],
540          ],
541        }],
542        ['use_aura==1 and OS=="linux" and chromeos==0', {
543          'dependencies': [
544            '../ui.gyp:shell_dialogs',
545            '../linux_ui/linux_ui.gyp:linux_ui',
546          ],
547        }],
548        ['OS=="win"', {
549          'dependencies': [
550            # For accessibility
551            '../../third_party/iaccessible2/iaccessible2.gyp:iaccessible2',
552          ],
553          'include_dirs': [
554            '../../third_party/wtl/include',
555          ],
556          'link_settings': {
557            'msvs_settings': {
558              'VCLinkerTool': {
559                'DelayLoadDLLs': [
560                  'user32.dll',
561                ],
562              },
563            },
564          },
565          # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
566          'msvs_disabled_warnings': [ 4267, ],
567        }],
568        ['OS!="win"', {
569          'sources!': [
570            'controls/menu/menu_wrapper.h',
571            'controls/menu/menu_2.cc',
572            'controls/menu/menu_2.h',
573            'win/fullscreen_handler.cc',
574            'win/fullscreen_handler.h',
575            'win/hwnd_message_handler.cc',
576            'win/hwnd_message_handler.h',
577            'win/hwnd_message_handler_delegate.h',
578            'win/scoped_fullscreen_visibility.cc',
579            'win/scoped_fullscreen_visibility.h',
580            'widget/widget_hwnd_utils.cc',
581            'widget/widget_hwnd_utils.h',
582          ],
583        }],
584      ],
585    }, # target_name: views
586    {
587      'target_name': 'views_test_support',
588      'type': 'static_library',
589      'dependencies': [
590        '../../base/base.gyp:base',
591        '../../ipc/ipc.gyp:test_support_ipc',
592        '../../skia/skia.gyp:skia',
593        '../../testing/gtest.gyp:gtest',
594        '../ui.gyp:ui',
595        'views',
596      ],
597      'include_dirs': [
598        '..',
599      ],
600      'sources': [
601        'corewm/tooltip_controller_test_helper.cc',
602        'corewm/tooltip_controller_test_helper.h',
603        'test/capture_tracking_view.cc',
604        'test/capture_tracking_view.h',
605        'test/child_modal_window.cc',
606        'test/child_modal_window.h',
607        'test/desktop_test_views_delegate.cc',
608        'test/desktop_test_views_delegate.h',
609        'test/test_views.cc',
610        'test/test_views.h',
611        'test/test_views_delegate.cc',
612        'test/test_views_delegate.h',
613        'test/test_widget_observer.cc',
614        'test/test_widget_observer.h',
615        'test/views_test_base.cc',
616        'test/views_test_base.h',
617      ],
618      'conditions': [
619        ['use_aura==1', {
620          'dependencies': [
621            '../aura/aura.gyp:aura_test_support',
622            '../compositor/compositor.gyp:compositor',
623          ],
624        }, {  # use_aura==0
625          'sources!': [
626            'corewm/tooltip_controller_test_helper.cc',
627            'corewm/tooltip_controller_test_helper.h',
628            'test/child_modal_window.cc',
629            'test/child_modal_window.h',
630          ],
631        }],
632      ],
633    },  # target_name: views_test_support
634    {
635      'target_name': 'views_with_content_test_support',
636      'type': 'static_library',
637      'dependencies': [
638        '../../base/base.gyp:base',
639        '../../content/content.gyp:content',
640        '../../content/content.gyp:test_support_content',
641        '../../ipc/ipc.gyp:test_support_ipc',
642        '../../skia/skia.gyp:skia',
643        '../../testing/gtest.gyp:gtest',
644        '../ui.gyp:ui',
645        'controls/webview/webview.gyp:webview',
646        'views_test_support',
647        'views',
648      ],
649      'include_dirs': [
650        '..',
651      ],
652      'sources': [
653        'test/webview_test_helper.cc',
654        'test/webview_test_helper.h',
655      ],
656    },  # target_name: views_with_content_test_support
657    {
658      'target_name': 'views_unittests',
659      'type': 'executable',
660      'dependencies': [
661        '../../base/base.gyp:base',
662        '../../base/base.gyp:base_i18n',
663        '../../base/base.gyp:test_support_base',
664        # TODO(jcivelli): ideally the resource needed by views would be
665        #                 factored out. (for some reason it pulls in a bunch
666        #                 unrelated things like v8, sqlite nss...).
667        '../../chrome/chrome_resources.gyp:packed_resources',
668        '../../skia/skia.gyp:skia',
669        '../../testing/gmock.gyp:gmock',
670        '../../testing/gtest.gyp:gtest',
671        '../../third_party/icu/icu.gyp:icui18n',
672        '../../third_party/icu/icu.gyp:icuuc',
673        '../../url/url.gyp:url_lib',
674        '../base/strings/ui_strings.gyp:ui_strings',
675        '../compositor/compositor.gyp:compositor',
676        '../compositor/compositor.gyp:compositor_test_support',
677        '../ui.gyp:ui',
678        '../ui.gyp:ui_resources',
679        '../ui.gyp:ui_test_support',
680        'views',
681        'views_test_support',
682      ],
683      'include_dirs': [
684        '..',
685      ],
686      'sources': [
687        'accessibility/native_view_accessibility_win_unittest.cc',
688        'accessible_pane_view_unittest.cc',
689        'animation/bounds_animator_unittest.cc',
690        'bubble/bubble_border_unittest.cc',
691        'bubble/bubble_delegate_unittest.cc',
692        'bubble/bubble_frame_view_unittest.cc',
693        'controls/button/custom_button_unittest.cc',
694        'controls/button/image_button_unittest.cc',
695        'controls/button/label_button_unittest.cc',
696        'controls/combobox/native_combobox_views_unittest.cc',
697        'controls/label_unittest.cc',
698        'controls/menu/menu_model_adapter_unittest.cc',
699        'controls/native/native_view_host_aura_unittest.cc',
700        'controls/native/native_view_host_unittest.cc',
701        'controls/prefix_selector_unittest.cc',
702        'controls/progress_bar_unittest.cc',
703        'controls/scrollbar/scrollbar_unittest.cc',
704        'controls/scroll_view_unittest.cc',
705        'controls/single_split_view_unittest.cc',
706        'controls/slider_unittest.cc',
707        'controls/styled_label_unittest.cc',
708        'controls/tabbed_pane/tabbed_pane_unittest.cc',
709        'controls/table/table_utils_unittest.cc',
710        'controls/table/table_view_unittest.cc',
711        'controls/table/test_table_model.cc',
712        'controls/table/test_table_model.h',
713        'controls/textfield/native_textfield_views_unittest.cc',
714        'controls/textfield/textfield_views_model_unittest.cc',
715        'controls/tree/tree_view_unittest.cc',
716        'corewm/compound_event_filter_unittest.cc',
717        'corewm/cursor_manager_unittest.cc',
718        'corewm/focus_controller_unittest.cc',
719        'corewm/image_grid_unittest.cc',
720        'corewm/input_method_event_filter_unittest.cc',
721        'corewm/shadow_controller_unittest.cc',
722        'corewm/tooltip_controller_unittest.cc',
723        'corewm/visibility_controller_unittest.cc',
724        'corewm/window_animations_unittest.cc',
725        'corewm/window_util_unittest.cc',
726        'focus/focus_manager_test.h',
727        'focus/focus_manager_test.cc',
728        'focus/focus_manager_unittest.cc',
729        'focus/focus_manager_unittest_win.cc',
730        'focus/focus_traversal_unittest.cc',
731        'ime/input_method_bridge_unittest.cc',
732        'layout/box_layout_unittest.cc',
733        'layout/grid_layout_unittest.cc',
734        'touchui/touch_selection_controller_impl_unittest.cc',
735        'view_model_unittest.cc',
736        'view_model_utils_unittest.cc',
737        'view_unittest.cc',
738        'window/dialog_client_view_unittest.cc',
739        'window/dialog_delegate_unittest.cc',
740        'widget/desktop_aura/desktop_capture_client_unittest.cc',
741        'widget/desktop_aura/desktop_screen_position_client_unittest.cc',
742        'widget/native_widget_aura_unittest.cc',
743        'widget/native_widget_unittest.cc',
744        'widget/native_widget_win_unittest.cc',
745        'widget/widget_unittest.cc',
746        'widget/window_reorderer_unittest.cc',
747        'run_all_unittests.cc',
748      ],
749      'conditions': [
750        ['chromeos==0', {
751          'sources!': [
752            'touchui/touch_selection_controller_impl_unittest.cc',
753          ],
754        }, { # use_chromeos==1
755          'sources/': [
756            ['exclude', 'ime/input_method_bridge_unittest.cc'],
757            ['exclude', 'widget/desktop_aura'],
758          ],
759        }],
760        ['OS=="win"', {
761          'link_settings': {
762            'libraries': [
763              '-limm32.lib',
764              '-loleacc.lib',
765            ]
766          },
767          'include_dirs': [
768            '../third_party/wtl/include',
769          ],
770        }],
771        ['OS=="win" and win_use_allocator_shim==1', {
772          'dependencies': [
773            '../../base/allocator/allocator.gyp:allocator',
774          ],
775        }],
776        ['OS=="linux" and linux_use_tcmalloc==1', {
777           # See http://crbug.com/162998#c4 for why this is needed.
778          'dependencies': [
779            '../../base/allocator/allocator.gyp:allocator',
780          ],
781        }],
782        [ 'use_aura==1', {
783          'dependencies': [
784            '../aura/aura.gyp:aura_test_support',
785          ],
786          'sources!': [
787            'widget/native_widget_win_unittest.cc',
788          ],
789        }, {  # use_aura==0
790          'sources!': [
791            'controls/native/native_view_host_aura_unittest.cc',
792            'widget/native_widget_aura_unittest.cc',
793          ],
794          'sources/': [
795            ['exclude', 'corewm'],
796            ['exclude', 'ime/input_method_bridge_unittest.cc'],
797            ['exclude', 'widget/desktop_aura'],
798            ['exclude', 'widget/window_reorderer_unittest.cc']
799          ],
800        }],
801      ],
802    },  # target_name: views_unittests
803    {
804      'target_name': 'views_examples_lib',
805      'type': '<(component)',
806      'dependencies': [
807        '../../base/base.gyp:base',
808        '../../chrome/chrome_resources.gyp:packed_resources',
809        '../../skia/skia.gyp:skia',
810        '../../third_party/icu/icu.gyp:icui18n',
811        '../../third_party/icu/icu.gyp:icuuc',
812        '../ui.gyp:ui',
813        '../ui.gyp:ui_resources',
814        'views',
815      ],
816      'include_dirs': [
817        '..',
818      ],
819      'defines': [
820        'VIEWS_EXAMPLES_IMPLEMENTATION',
821      ],
822      'sources': [
823        'examples/bubble_example.cc',
824        'examples/bubble_example.h',
825        'examples/button_example.cc',
826        'examples/button_example.h',
827        'examples/checkbox_example.cc',
828        'examples/checkbox_example.h',
829        'examples/combobox_example.cc',
830        'examples/combobox_example.h',
831        'examples/double_split_view_example.cc',
832        'examples/double_split_view_example.h',
833        'examples/example_base.cc',
834        'examples/example_base.h',
835        'examples/example_combobox_model.cc',
836        'examples/example_combobox_model.h',
837        'examples/examples_window.cc',
838        'examples/examples_window.h',
839        'examples/label_example.cc',
840        'examples/label_example.h',
841        'examples/link_example.cc',
842        'examples/link_example.h',
843        'examples/message_box_example.cc',
844        'examples/message_box_example.h',
845        'examples/menu_example.cc',
846        'examples/menu_example.h',
847        'examples/multiline_example.cc',
848        'examples/multiline_example.h',
849        'examples/progress_bar_example.cc',
850        'examples/progress_bar_example.h',
851        'examples/radio_button_example.cc',
852        'examples/radio_button_example.h',
853        'examples/scroll_view_example.cc',
854        'examples/scroll_view_example.h',
855        'examples/single_split_view_example.cc',
856        'examples/single_split_view_example.h',
857        'examples/slider_example.cc',
858        'examples/slider_example.h',
859        'examples/tabbed_pane_example.cc',
860        'examples/tabbed_pane_example.h',
861        'examples/table_example.cc',
862        'examples/table_example.h',
863        'examples/text_example.cc',
864        'examples/text_example.h',
865        'examples/textfield_example.cc',
866        'examples/textfield_example.h',
867        'examples/throbber_example.cc',
868        'examples/throbber_example.h',
869        'examples/tree_view_example.cc',
870        'examples/tree_view_example.h',
871        'examples/views_examples_export.h',
872        'examples/widget_example.cc',
873        'examples/widget_example.h',
874      ],
875      'conditions': [
876        ['OS=="win"', {
877          'include_dirs': [
878            '../third_party/wtl/include',
879          ],
880          # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
881          'msvs_disabled_warnings': [ 4267, ],
882        }],
883      ],
884    },  # target_name: views_examples_lib
885    {
886      'target_name': 'views_examples_exe',
887      'type': 'executable',
888      'sources': [
889        'examples/examples_main.cc',
890      ],
891    },  # target_name: views_examples_exe
892    {
893      'target_name': 'views_examples_with_content_lib',
894      'type': '<(component)',
895      'dependencies': [
896        '../../base/base.gyp:base',
897        '../../base/base.gyp:base_i18n',
898        '../../chrome/chrome_resources.gyp:packed_resources',
899        '../../content/content.gyp:content',
900        '../../skia/skia.gyp:skia',
901        '../../third_party/icu/icu.gyp:icui18n',
902        '../../third_party/icu/icu.gyp:icuuc',
903        '../../url/url.gyp:url_lib',
904        '../ui.gyp:ui',
905        '../ui.gyp:ui_resources',
906        'controls/webview/webview.gyp:webview',
907        'views',
908      ],
909      'include_dirs': [
910        '..',
911      ],
912      'defines': [
913        'VIEWS_EXAMPLES_WITH_CONTENT_IMPLEMENTATION',
914      ],
915      'sources': [
916        'examples/bubble_example.cc',
917        'examples/bubble_example.h',
918        'examples/button_example.cc',
919        'examples/button_example.h',
920        'examples/checkbox_example.cc',
921        'examples/checkbox_example.h',
922        'examples/combobox_example.cc',
923        'examples/combobox_example.h',
924        'examples/double_split_view_example.cc',
925        'examples/double_split_view_example.h',
926        'examples/example_base.cc',
927        'examples/example_base.h',
928        'examples/example_combobox_model.cc',
929        'examples/example_combobox_model.h',
930        'examples/examples_window_with_content.cc',
931        'examples/examples_window_with_content.h',
932        'examples/label_example.cc',
933        'examples/label_example.h',
934        'examples/link_example.cc',
935        'examples/link_example.h',
936        'examples/message_box_example.cc',
937        'examples/message_box_example.h',
938        'examples/menu_example.cc',
939        'examples/menu_example.h',
940        'examples/multiline_example.cc',
941        'examples/multiline_example.h',
942        'examples/progress_bar_example.cc',
943        'examples/progress_bar_example.h',
944        'examples/radio_button_example.cc',
945        'examples/radio_button_example.h',
946        'examples/scroll_view_example.cc',
947        'examples/scroll_view_example.h',
948        'examples/single_split_view_example.cc',
949        'examples/single_split_view_example.h',
950        'examples/slider_example.cc',
951        'examples/slider_example.h',
952        'examples/tabbed_pane_example.cc',
953        'examples/tabbed_pane_example.h',
954        'examples/table_example.cc',
955        'examples/table_example.h',
956        'examples/text_example.cc',
957        'examples/text_example.h',
958        'examples/textfield_example.cc',
959        'examples/textfield_example.h',
960        'examples/throbber_example.cc',
961        'examples/throbber_example.h',
962        'examples/tree_view_example.cc',
963        'examples/tree_view_example.h',
964        'examples/views_examples_with_content_export.h',
965        'examples/webview_example.cc',
966        'examples/webview_example.h',
967        'examples/widget_example.cc',
968        'examples/widget_example.h',
969      ],
970      'conditions': [
971        ['OS=="win"', {
972          'include_dirs': [
973            '../third_party/wtl/include',
974          ],
975          # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
976          'msvs_disabled_warnings': [ 4267, ],
977        }],
978      ],
979    },  # target_name: views_examples_with_content_lib
980    {
981      'target_name': 'views_examples_with_content_exe',
982      'type': 'executable',
983      'dependencies': [
984        '../../base/base.gyp:base',
985        '../../base/base.gyp:base_i18n',
986        '../../chrome/chrome_resources.gyp:packed_resources',
987        '../../content/content.gyp:content',
988        '../../content/content.gyp:content_shell_lib',
989        '../../content/content.gyp:test_support_content',
990        '../../skia/skia.gyp:skia',
991        '../../third_party/icu/icu.gyp:icui18n',
992        '../../third_party/icu/icu.gyp:icuuc',
993        '../ui.gyp:ui',
994        '../ui.gyp:ui_resources',
995        'views',
996        'views_examples_with_content_lib',
997        'views_test_support'
998      ],
999      'include_dirs': [
1000        '../..',
1001      ],
1002      'sources': [
1003        '../../content/app/startup_helper_win.cc',
1004        'examples/content_client/examples_browser_main_parts.cc',
1005        'examples/content_client/examples_browser_main_parts.h',
1006        'examples/content_client/examples_content_browser_client.cc',
1007        'examples/content_client/examples_content_browser_client.h',
1008        'examples/content_client/examples_main_delegate.cc',
1009        'examples/content_client/examples_main_delegate.h',
1010        'examples/content_client/examples_main.cc',
1011      ],
1012      'conditions': [
1013        ['OS=="win"', {
1014          'link_settings': {
1015            'libraries': [
1016              '-limm32.lib',
1017              '-loleacc.lib',
1018            ]
1019          },
1020          'msvs_settings': {
1021            'VCManifestTool': {
1022              'AdditionalManifestFiles': [
1023                'examples\\views_examples.exe.manifest',
1024              ],
1025            },
1026            'VCLinkerTool': {
1027              'SubSystem': '2',  # Set /SUBSYSTEM:WINDOWS
1028            },
1029          },
1030          'dependencies': [
1031            '../../sandbox/sandbox.gyp:sandbox',
1032          ],
1033        }],
1034        ['use_aura==1', {
1035          'dependencies': [
1036            '../compositor/compositor.gyp:compositor',
1037          ],
1038        }],
1039        ['OS=="win"', {
1040          'sources/': [
1041            # This is needed because the aura rule strips it from the default
1042            # sources list.
1043            ['include', '^../../content/app/startup_helper_win.cc'],
1044          ],
1045        }],
1046      ],
1047    },  # target_name: views_examples_with_content_exe
1048  ],
1049}
1050