| # Copyright 2014 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. |
| |
| import("//build/config/features.gni") |
| import("//build/config/ui.gni") |
| import("//testing/test.gni") |
| |
| # TODO(msw|mukai|dewittj): Move ash-specific files: crbug.com/585175 |
| component("message_center") { |
| deps = [ |
| "//base", |
| "//ui/base", |
| "//url", |
| ] |
| |
| defines = [ "MESSAGE_CENTER_IMPLEMENTATION" ] |
| |
| if (enable_notifications && !is_android) { |
| deps += [ |
| "//base:i18n", |
| "//base/third_party/dynamic_annotations", |
| "//components/url_formatter", |
| "//skia", |
| "//ui/accessibility", |
| "//ui/display", |
| "//ui/events", |
| "//ui/gfx", |
| "//ui/gfx/geometry", |
| "//ui/native_theme", |
| "//ui/resources", |
| "//ui/strings", |
| ] |
| |
| configs += [ |
| "//build/config:precompiled_headers", |
| |
| # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. |
| "//build/config/compiler:no_size_t_to_int_warning", |
| ] |
| sources = [ |
| "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", |
| "message_center.cc", |
| "message_center.h", |
| "message_center_export.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_delegate.cc", |
| "notification_delegate.h", |
| "notification_list.cc", |
| "notification_list.h", |
| "notification_types.cc", |
| "notification_types.h", |
| "notifier_settings.cc", |
| "notifier_settings.h", |
| "popup_timer.cc", |
| "popup_timer.h", |
| "popup_timers_controller.cc", |
| "popup_timers_controller.h", |
| ] |
| |
| if (is_win) { |
| deps += [ "//ui/aura" ] |
| } |
| |
| # On Mac, toolkit-views builds still use the Cocoa UI. Keep this in sync |
| # with message_center_unittests below. |
| if (toolkit_views && !is_mac) { |
| sources += [ |
| "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_bubble.cc", |
| "views/message_center_bubble.h", |
| "views/message_center_button_bar.cc", |
| "views/message_center_button_bar.h", |
| "views/message_center_controller.h", |
| "views/message_center_view.cc", |
| "views/message_center_view.h", |
| "views/message_list_view.cc", |
| "views/message_list_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/notification_button.cc", |
| "views/notification_button.h", |
| "views/notification_progress_bar.cc", |
| "views/notification_progress_bar.h", |
| "views/notification_view.cc", |
| "views/notification_view.h", |
| "views/notifier_settings_view.cc", |
| "views/notifier_settings_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", |
| ] |
| deps += [ |
| "//ui/compositor", |
| "//ui/events", |
| "//ui/views", |
| ] |
| } |
| } else { |
| # Notification service disabled. |
| sources = [ |
| "dummy_message_center.cc", |
| "notification_delegate.cc", |
| "notification_delegate.h", |
| ] |
| |
| # Android implements its own notification UI manager instead of deferring to |
| # the message center (when notifications are enabled). Include a minimal |
| # set of files required for notifications on Android. |
| if (is_android) { |
| sources += [ |
| "notification.cc", |
| "notification.h", |
| "notifier_settings.cc", |
| "notifier_settings.h", |
| ] |
| } |
| } |
| } |
| |
| source_set("test_support") { |
| testonly = true |
| |
| if (enable_notifications && !is_android) { |
| sources = [ |
| "fake_message_center.cc", |
| "fake_message_center.h", |
| "fake_message_center_tray_delegate.cc", |
| "fake_message_center_tray_delegate.h", |
| "fake_notifier_settings_provider.cc", |
| "fake_notifier_settings_provider.h", |
| ] |
| deps = [ |
| "//base", |
| "//base/test:test_support", |
| "//skia", |
| "//ui/gfx", |
| "//ui/gfx/geometry", |
| ] |
| } |
| |
| public_deps = [ |
| ":message_center", |
| ] |
| } |
| |
| test("message_center_unittests") { |
| sources = [ |
| "test/run_all_unittests.cc", |
| ] |
| |
| deps = [ |
| ":message_center", |
| ":test_support", |
| "//base", |
| "//base/test:test_support", |
| "//skia", |
| "//testing/gtest", |
| "//ui/base", |
| "//ui/events", |
| "//ui/gfx", |
| "//ui/gfx/geometry", |
| "//ui/gl", |
| "//ui/gl:test_support", |
| "//ui/resources", |
| "//ui/resources:ui_test_pak", |
| "//url", |
| ] |
| |
| data_deps = [ |
| "//ui/resources:ui_test_pak_data", |
| ] |
| |
| if (enable_notifications && !is_android) { |
| sources += [ |
| "cocoa/notification_controller_unittest.mm", |
| "cocoa/popup_collection_unittest.mm", |
| "cocoa/popup_controller_unittest.mm", |
| "message_center_impl_unittest.cc", |
| "message_center_tray_unittest.cc", |
| "notification_delegate_unittest.cc", |
| "notification_list_unittest.cc", |
| ] |
| |
| if (is_mac) { |
| deps += [ "//ui/gfx:test_support" ] |
| } |
| |
| if (toolkit_views && !is_mac) { |
| 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", |
| ] |
| deps += [ |
| # Compositor is needed by message_center_view_unittest.cc and for the |
| # fonts used by bounded_label_unittest.cc. |
| "//ui/compositor", |
| "//ui/display", |
| "//ui/views", |
| "//ui/views:test_support", |
| ] |
| } |
| } # enable_notifications && !is_android |
| } |