blob: eb956aa0c6c13479ccf69af8d364559a2620ee1a [file] [log] [blame]
# 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
],
}