# Copyright (c) 2012 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. { 'variables': { 'chromium_code': 1, }, 'targets': [ { # GN version: //ui/message_center 'target_name': 'message_center', 'type': '<(component)', 'dependencies': [ '../../base/base.gyp:base', '../../base/base.gyp:base_i18n', '../../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations', '../../skia/skia.gyp:skia', '../../url/url.gyp:url_lib', '../base/ui_base.gyp:ui_base', '../gfx/gfx.gyp:gfx', '../gfx/gfx.gyp:gfx_geometry', '../resources/ui_resources.gyp:ui_resources', '../strings/ui_strings.gyp:ui_strings', ], 'defines': [ 'MESSAGE_CENTER_IMPLEMENTATION', ], 'sources': [ # Note: file list duplicated in GN build. 'cocoa/notification_controller.h', 'cocoa/notification_controller.mm', 'cocoa/opaque_views.h', 'cocoa/opaque_views.mm', 'cocoa/popup_collection.h', 'cocoa/popup_collection.mm', 'cocoa/popup_controller.h', 'cocoa/popup_controller.mm', 'cocoa/settings_controller.h', 'cocoa/settings_controller.mm', 'cocoa/settings_entry_view.h', 'cocoa/settings_entry_view.mm', 'cocoa/status_item_view.h', 'cocoa/status_item_view.mm', 'cocoa/tray_controller.h', 'cocoa/tray_controller.mm', 'cocoa/tray_view_controller.h', 'cocoa/tray_view_controller.mm', 'dummy_message_center.cc', 'message_center.cc', 'message_center.h', 'message_center_export.h', 'notification_delegate.cc', 'notification_delegate.h', 'message_center_impl.cc', 'message_center_impl.h', 'message_center_observer.h', 'message_center_style.cc', 'message_center_style.h', 'message_center_switches.cc', 'message_center_switches.h', 'message_center_tray.cc', 'message_center_tray.h', 'message_center_tray_delegate.h', 'message_center_types.h', 'notification.cc', 'notification.h', 'notification_blocker.cc', 'notification_blocker.h', 'notification_list.cc', 'notification_list.h', 'notification_types.cc', 'notification_types.h', 'notifier_settings.cc', 'notifier_settings.h', 'views/bounded_label.cc', 'views/bounded_label.h', 'views/constants.h', 'views/desktop_popup_alignment_delegate.cc', 'views/desktop_popup_alignment_delegate.h', 'views/message_bubble_base.cc', 'views/message_bubble_base.h', 'views/message_center_controller.h', 'views/message_center_bubble.cc', 'views/message_center_bubble.h', 'views/message_center_button_bar.cc', 'views/message_center_button_bar.h', 'views/message_center_view.cc', 'views/message_center_view.h', 'views/message_popup_collection.cc', 'views/message_popup_collection.h', 'views/message_view.cc', 'views/message_view.h', 'views/message_view_context_menu_controller.cc', 'views/message_view_context_menu_controller.h', 'views/notifier_settings_view.cc', 'views/notifier_settings_view.h', 'views/notification_button.cc', 'views/notification_button.h', 'views/notification_view.cc', 'views/notification_view.h', 'views/padded_button.cc', 'views/padded_button.h', 'views/popup_alignment_delegate.cc', 'views/popup_alignment_delegate.h', 'views/proportional_image_view.cc', 'views/proportional_image_view.h', 'views/toast_contents_view.cc', 'views/toast_contents_view.h', ], # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 'msvs_disabled_warnings': [ 4267, ], 'conditions': [ # This condition is for Windows 8 Metro mode support. We need to # specify a particular desktop during widget creation in that case. # This is done using the desktop aura native widget framework. ['OS=="win"', { 'dependencies': [ '../aura/aura.gyp:aura', ], }], # On Mac, toolkit-views builds still use the Cocoa UI. Keep this in sync # with message_center_unittests below. ['toolkit_views==1 and OS!="mac"', { 'dependencies': [ '../events/events.gyp:events', '../views/views.gyp:views', '../compositor/compositor.gyp:compositor', ], }, { 'sources/': [ ['exclude', 'views/'], ], }], ['use_ash==0', { 'sources!': [ 'views/message_bubble_base.cc', 'views/message_bubble_base.h', 'views/message_center_bubble.cc', 'views/message_center_bubble.h', ], }], # iOS disables notifications altogether, Android implements its own # notification UI manager instead of deferring to the message center. ['notifications==0 or OS=="android"', { 'sources/': [ # Exclude everything except dummy impl. ['exclude', '\\.(cc|mm)$'], ['include', '^dummy_message_center\\.cc$'], ['include', '^notification_delegate\\.cc$'], ], }, { # notifications==1 'sources!': [ 'dummy_message_center.cc' ], }], # Include a minimal set of files required for notifications on Android. ['OS=="android"', { 'sources/': [ ['include', '^notification\\.cc$'], ['include', '^notifier_settings\\.cc$'], ], }], ], }, # target_name: message_center { # GN version: //ui/message_center:test_support 'target_name': 'message_center_test_support', 'type': 'static_library', 'dependencies': [ '../../base/base.gyp:base', '../../base/base.gyp:test_support_base', '../../skia/skia.gyp:skia', '../base/ui_base.gyp:ui_base', '../gfx/gfx.gyp:gfx', '../gfx/gfx.gyp:gfx_geometry', 'message_center', ], 'sources': [ # Note: sources list duplicated in GN build. 'fake_message_center.h', 'fake_message_center.cc', 'fake_message_center_tray_delegate.h', 'fake_message_center_tray_delegate.cc', 'fake_notifier_settings_provider.h', 'fake_notifier_settings_provider.cc', ], }, # target_name: message_center_test_support { # GN version: //ui/message_center:message_center_unittests 'target_name': 'message_center_unittests', 'type': 'executable', 'dependencies': [ '../../base/base.gyp:base', '../../base/base.gyp:test_support_base', '../../skia/skia.gyp:skia', '../../testing/gtest.gyp:gtest', '../../url/url.gyp:url_lib', '../base/ui_base.gyp:ui_base', '../gfx/gfx.gyp:gfx', '../gfx/gfx.gyp:gfx_geometry', '../resources/ui_resources.gyp:ui_resources', '../resources/ui_resources.gyp:ui_test_pak', 'message_center', 'message_center_test_support', ], 'sources': [ # Note: file list duplicated in GN build. 'cocoa/notification_controller_unittest.mm', 'cocoa/popup_collection_unittest.mm', 'cocoa/popup_controller_unittest.mm', 'cocoa/settings_controller_unittest.mm', 'cocoa/status_item_view_unittest.mm', 'cocoa/tray_controller_unittest.mm', 'cocoa/tray_view_controller_unittest.mm', 'message_center_tray_unittest.cc', 'message_center_impl_unittest.cc', 'notification_delegate_unittest.cc', 'notification_list_unittest.cc', 'test/run_all_unittests.cc', ], 'conditions': [ ['OS=="mac"', { 'dependencies': [ '../gfx/gfx.gyp:gfx_test_support', ], }], ['toolkit_views==1 and OS!="mac"', { 'dependencies': [ # Compositor is needed by message_center_view_unittest.cc # and for the fonts used by bounded_label_unittest.cc. '../compositor/compositor.gyp:compositor', '../views/views.gyp:views', '../views/views.gyp:views_test_support', ], 'sources': [ 'views/bounded_label_unittest.cc', 'views/message_center_view_unittest.cc', 'views/message_popup_collection_unittest.cc', 'views/notification_view_unittest.cc', 'views/notifier_settings_view_unittest.cc', ], }], ['notifications==0', { # Android and iOS. 'sources/': [ # Exclude everything except main(). ['exclude', '\\.(cc|mm)$'], ['include', '^test/run_all_unittests\\.cc$'], ], }], # See http://crbug.com/162998#c4 for why this is needed. ['OS=="linux" and use_allocator!="none"', { 'dependencies': [ '../../base/allocator/allocator.gyp:allocator', ], }], ], }, # target_name: message_center_unittests ], }