Revert of Revert of [Telemetry] Add browser option that allows disabling crash servic...
[chromium-blink-merge.git] / ui / message_center / message_center.gyp
blobeb956aa0c6c13479ccf69af8d364559a2620ee1a
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.
6   'variables': {
7     'chromium_code': 1,
8   },
9   'targets': [
10     {
11       # GN version: //ui/message_center
12       'target_name': 'message_center',
13       'type': '<(component)',
14       'dependencies': [
15         '../../base/base.gyp:base',
16         '../../base/base.gyp:base_i18n',
17         '../../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
18         '../../skia/skia.gyp:skia',
19         '../../url/url.gyp:url_lib',
20         '../base/ui_base.gyp:ui_base',
21         '../gfx/gfx.gyp:gfx',
22         '../gfx/gfx.gyp:gfx_geometry',
23         '../resources/ui_resources.gyp:ui_resources',
24         '../strings/ui_strings.gyp:ui_strings',
25       ],
26       'defines': [
27         'MESSAGE_CENTER_IMPLEMENTATION',
28       ],
29       'sources': [
30         # Note: file list duplicated in GN build.
31         'cocoa/notification_controller.h',
32         'cocoa/notification_controller.mm',
33         'cocoa/opaque_views.h',
34         'cocoa/opaque_views.mm',
35         'cocoa/popup_collection.h',
36         'cocoa/popup_collection.mm',
37         'cocoa/popup_controller.h',
38         'cocoa/popup_controller.mm',
39         'cocoa/settings_controller.h',
40         'cocoa/settings_controller.mm',
41         'cocoa/settings_entry_view.h',
42         'cocoa/settings_entry_view.mm',
43         'cocoa/status_item_view.h',
44         'cocoa/status_item_view.mm',
45         'cocoa/tray_controller.h',
46         'cocoa/tray_controller.mm',
47         'cocoa/tray_view_controller.h',
48         'cocoa/tray_view_controller.mm',
49         'dummy_message_center.cc',
50         'message_center.cc',
51         'message_center.h',
52         'message_center_export.h',
53         'notification_delegate.cc',
54         'notification_delegate.h',
55         'message_center_impl.cc',
56         'message_center_impl.h',
57         'message_center_observer.h',
58         'message_center_style.cc',
59         'message_center_style.h',
60         'message_center_switches.cc',
61         'message_center_switches.h',
62         'message_center_tray.cc',
63         'message_center_tray.h',
64         'message_center_tray_delegate.h',
65         'message_center_types.h',
66         'notification.cc',
67         'notification.h',
68         'notification_blocker.cc',
69         'notification_blocker.h',
70         'notification_list.cc',
71         'notification_list.h',
72         'notification_types.cc',
73         'notification_types.h',
74         'notifier_settings.cc',
75         'notifier_settings.h',
76         'views/bounded_label.cc',
77         'views/bounded_label.h',
78         'views/constants.h',
79         'views/desktop_popup_alignment_delegate.cc',
80         'views/desktop_popup_alignment_delegate.h',
81         'views/message_bubble_base.cc',
82         'views/message_bubble_base.h',
83         'views/message_center_controller.h',
84         'views/message_center_bubble.cc',
85         'views/message_center_bubble.h',
86         'views/message_center_button_bar.cc',
87         'views/message_center_button_bar.h',
88         'views/message_center_view.cc',
89         'views/message_center_view.h',
90         'views/message_popup_collection.cc',
91         'views/message_popup_collection.h',
92         'views/message_view.cc',
93         'views/message_view.h',
94         'views/message_view_context_menu_controller.cc',
95         'views/message_view_context_menu_controller.h',
96         'views/notifier_settings_view.cc',
97         'views/notifier_settings_view.h',
98         'views/notification_button.cc',
99         'views/notification_button.h',
100         'views/notification_view.cc',
101         'views/notification_view.h',
102         'views/padded_button.cc',
103         'views/padded_button.h',
104         'views/popup_alignment_delegate.cc',
105         'views/popup_alignment_delegate.h',
106         'views/proportional_image_view.cc',
107         'views/proportional_image_view.h',
108         'views/toast_contents_view.cc',
109         'views/toast_contents_view.h',
110       ],
111       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
112       'msvs_disabled_warnings': [ 4267, ],
113       'conditions': [
114         # This condition is for Windows 8 Metro mode support.  We need to
115         # specify a particular desktop during widget creation in that case.
116         # This is done using the desktop aura native widget framework.
117         ['OS=="win"', {
118           'dependencies': [
119             '../aura/aura.gyp:aura',
120           ],
121         }],
122         # On Mac, toolkit-views builds still use the Cocoa UI. Keep this in sync
123         # with message_center_unittests below.
124         ['toolkit_views==1 and OS!="mac"', {
125           'dependencies': [
126             '../events/events.gyp:events',
127             '../views/views.gyp:views',
128             '../compositor/compositor.gyp:compositor',
129           ],
130         }, {
131           'sources/': [
132             ['exclude', 'views/'],
133           ],
134         }],
135         ['use_ash==0', {
136           'sources!': [
137             'views/message_bubble_base.cc',
138             'views/message_bubble_base.h',
139             'views/message_center_bubble.cc',
140             'views/message_center_bubble.h',
141           ],
142         }],
143         # iOS disables notifications altogether, Android implements its own
144         # notification UI manager instead of deferring to the message center.
145         ['notifications==0 or OS=="android"', {
146           'sources/': [
147             # Exclude everything except dummy impl.
148             ['exclude', '\\.(cc|mm)$'],
149             ['include', '^dummy_message_center\\.cc$'],
150             ['include', '^notification_delegate\\.cc$'],
151           ],
152         }, {  # notifications==1
153           'sources!': [ 'dummy_message_center.cc' ],
154         }],
155         # Include a minimal set of files required for notifications on Android.
156         ['OS=="android"', {
157           'sources/': [
158             ['include', '^notification\\.cc$'],
159             ['include', '^notifier_settings\\.cc$'],
160           ],
161         }],
162       ],
163     },  # target_name: message_center
164     {
165       # GN version: //ui/message_center:test_support
166       'target_name': 'message_center_test_support',
167       'type': 'static_library',
168       'dependencies': [
169         '../../base/base.gyp:base',
170         '../../base/base.gyp:test_support_base',
171         '../../skia/skia.gyp:skia',
172         '../base/ui_base.gyp:ui_base',
173         '../gfx/gfx.gyp:gfx',
174         '../gfx/gfx.gyp:gfx_geometry',
175         'message_center',
176       ],
177       'sources': [
178         # Note: sources list duplicated in GN build.
179         'fake_message_center.h',
180         'fake_message_center.cc',
181         'fake_message_center_tray_delegate.h',
182         'fake_message_center_tray_delegate.cc',
183         'fake_notifier_settings_provider.h',
184         'fake_notifier_settings_provider.cc',
185       ],
186     },  # target_name: message_center_test_support
187     {
188       # GN version: //ui/message_center:message_center_unittests
189       'target_name': 'message_center_unittests',
190       'type': 'executable',
191       'dependencies': [
192         '../../base/base.gyp:base',
193         '../../base/base.gyp:test_support_base',
194         '../../skia/skia.gyp:skia',
195         '../../testing/gtest.gyp:gtest',
196         '../../url/url.gyp:url_lib',
197         '../base/ui_base.gyp:ui_base',
198         '../gfx/gfx.gyp:gfx',
199         '../gfx/gfx.gyp:gfx_geometry',
200         '../resources/ui_resources.gyp:ui_resources',
201         '../resources/ui_resources.gyp:ui_test_pak',
202         'message_center',
203         'message_center_test_support',
204       ],
205       'sources': [
206         # Note: file list duplicated in GN build.
207         'cocoa/notification_controller_unittest.mm',
208         'cocoa/popup_collection_unittest.mm',
209         'cocoa/popup_controller_unittest.mm',
210         'cocoa/settings_controller_unittest.mm',
211         'cocoa/status_item_view_unittest.mm',
212         'cocoa/tray_controller_unittest.mm',
213         'cocoa/tray_view_controller_unittest.mm',
214         'message_center_tray_unittest.cc',
215         'message_center_impl_unittest.cc',
216         'notification_delegate_unittest.cc',
217         'notification_list_unittest.cc',
218         'test/run_all_unittests.cc',
219       ],
220       'conditions': [
221         ['OS=="mac"', {
222           'dependencies': [
223             '../gfx/gfx.gyp:gfx_test_support',
224           ],
225         }],
226         ['toolkit_views==1 and OS!="mac"', {
227           'dependencies': [
228             # Compositor is needed by message_center_view_unittest.cc
229             # and for the fonts used by bounded_label_unittest.cc.
230             '../compositor/compositor.gyp:compositor',
231             '../views/views.gyp:views',
232             '../views/views.gyp:views_test_support',
233           ],
234           'sources': [
235             'views/bounded_label_unittest.cc',
236             'views/message_center_view_unittest.cc',
237             'views/message_popup_collection_unittest.cc',
238             'views/notification_view_unittest.cc',
239             'views/notifier_settings_view_unittest.cc',
240           ],
241         }],
242         ['notifications==0', {  # Android and iOS.
243           'sources/': [
244             # Exclude everything except main().
245             ['exclude', '\\.(cc|mm)$'],
246             ['include', '^test/run_all_unittests\\.cc$'],
247           ],
248         }],
249         # See http://crbug.com/162998#c4 for why this is needed.
250         ['OS=="linux" and use_allocator!="none"', {
251           'dependencies': [
252             '../../base/allocator/allocator.gyp:allocator',
253           ],
254         }],
255       ],
256     },  # target_name: message_center_unittests
257   ],