blob: 2cc2392245fc52d702b4da892f364fc6e8357e5e [file] [log] [blame]
# 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/ui.gni")
import("//testing/test.gni")
component("app_list") {
sources = [
"app_list_constants.cc",
"app_list_constants.h",
"app_list_export.h",
"app_list_folder_item.cc",
"app_list_folder_item.h",
"app_list_item.cc",
"app_list_item.h",
"app_list_item_list.cc",
"app_list_item_list.h",
"app_list_item_list_observer.h",
"app_list_item_observer.h",
"app_list_menu.cc",
"app_list_menu.h",
"app_list_model.cc",
"app_list_model.h",
"app_list_model_observer.h",
"app_list_switches.cc",
"app_list_switches.h",
"app_list_view_delegate.cc",
"app_list_view_delegate.h",
"folder_image.cc",
"folder_image.h",
"pagination_controller.cc",
"pagination_controller.h",
"pagination_model.cc",
"pagination_model.h",
"pagination_model_observer.h",
"search/dictionary_data_store.cc",
"search/dictionary_data_store.h",
"search/history.cc",
"search/history.h",
"search/history_data.cc",
"search/history_data.h",
"search/history_data_store.cc",
"search/history_data_store.h",
"search/history_types.h",
"search/mixer.cc",
"search/mixer.h",
"search/term_break_iterator.cc",
"search/term_break_iterator.h",
"search/tokenized_string.cc",
"search/tokenized_string.h",
"search/tokenized_string_char_iterator.cc",
"search/tokenized_string_char_iterator.h",
"search/tokenized_string_match.cc",
"search/tokenized_string_match.h",
"search_box_model.cc",
"search_box_model.h",
"search_box_model_observer.h",
"search_controller.cc",
"search_controller.h",
"search_provider.cc",
"search_provider.h",
"search_result.cc",
"search_result.h",
"speech_ui_model.cc",
"speech_ui_model.h",
"speech_ui_model_observer.h",
]
defines = [ "APP_LIST_IMPLEMENTATION" ]
deps = [
"//base",
"//base:i18n",
"//base/third_party/dynamic_annotations",
"//components/keyed_service/core",
"//skia",
"//sync",
"//third_party/icu",
"//ui/accessibility",
"//ui/base",
"//ui/base/ime",
"//ui/compositor",
"//ui/events:events_base",
"//ui/gfx",
"//ui/gfx/geometry",
"//ui/resources",
"//ui/strings",
]
if (use_aura) {
deps += [
"//ui/aura",
"//ui/wm",
]
}
if (toolkit_views) {
sources += [
"views/all_apps_tile_item_view.cc",
"views/all_apps_tile_item_view.h",
"views/app_list_background.cc",
"views/app_list_background.h",
"views/app_list_drag_and_drop_host.h",
"views/app_list_folder_view.cc",
"views/app_list_folder_view.h",
"views/app_list_item_view.cc",
"views/app_list_item_view.h",
"views/app_list_main_view.cc",
"views/app_list_main_view.h",
"views/app_list_menu_views.cc",
"views/app_list_menu_views.h",
"views/app_list_page.cc",
"views/app_list_page.h",
"views/app_list_view.cc",
"views/app_list_view.h",
"views/app_list_view_observer.h",
"views/apps_container_view.cc",
"views/apps_container_view.h",
"views/apps_grid_view.cc",
"views/apps_grid_view.h",
"views/apps_grid_view_delegate.h",
"views/apps_grid_view_folder_delegate.h",
"views/cached_label.cc",
"views/cached_label.h",
"views/contents_view.cc",
"views/contents_view.h",
"views/custom_launcher_page_view.cc",
"views/custom_launcher_page_view.h",
"views/folder_background_view.cc",
"views/folder_background_view.h",
"views/folder_header_view.cc",
"views/folder_header_view.h",
"views/folder_header_view_delegate.h",
"views/image_shadow_animator.cc",
"views/image_shadow_animator.h",
"views/page_switcher.cc",
"views/page_switcher.h",
"views/progress_bar_view.cc",
"views/progress_bar_view.h",
"views/pulsing_block_view.cc",
"views/pulsing_block_view.h",
"views/search_box_view.cc",
"views/search_box_view.h",
"views/search_box_view_delegate.h",
"views/search_result_actions_view.cc",
"views/search_result_actions_view.h",
"views/search_result_container_view.cc",
"views/search_result_container_view.h",
"views/search_result_list_view.cc",
"views/search_result_list_view.h",
"views/search_result_list_view_delegate.h",
"views/search_result_page_view.cc",
"views/search_result_page_view.h",
"views/search_result_tile_item_list_view.cc",
"views/search_result_tile_item_list_view.h",
"views/search_result_tile_item_view.cc",
"views/search_result_tile_item_view.h",
"views/search_result_view.cc",
"views/search_result_view.h",
"views/speech_view.cc",
"views/speech_view.h",
"views/start_page_view.cc",
"views/start_page_view.h",
"views/tile_item_view.cc",
"views/tile_item_view.h",
"views/top_icon_animation_view.cc",
"views/top_icon_animation_view.h",
]
deps += [
"//ui/events",
"//ui/views",
]
public_deps = [
"//ui/views",
]
}
if (is_mac) {
sources += [
"cocoa/app_list_pager_view.h",
"cocoa/app_list_pager_view.mm",
"cocoa/app_list_view_controller.h",
"cocoa/app_list_view_controller.mm",
"cocoa/app_list_window_controller.h",
"cocoa/app_list_window_controller.mm",
"cocoa/apps_collection_view_drag_manager.h",
"cocoa/apps_collection_view_drag_manager.mm",
"cocoa/apps_grid_controller.h",
"cocoa/apps_grid_controller.mm",
"cocoa/apps_grid_view_item.h",
"cocoa/apps_grid_view_item.mm",
"cocoa/apps_pagination_model_observer.h",
"cocoa/apps_search_box_controller.h",
"cocoa/apps_search_box_controller.mm",
"cocoa/apps_search_results_controller.h",
"cocoa/apps_search_results_controller.mm",
"cocoa/apps_search_results_model_bridge.h",
"cocoa/apps_search_results_model_bridge.mm",
"cocoa/item_drag_controller.h",
"cocoa/item_drag_controller.mm",
"cocoa/scroll_view_with_no_scrollbars.h",
"cocoa/scroll_view_with_no_scrollbars.mm",
]
deps += [ "//third_party/google_toolbox_for_mac" ]
libs = [ "QuartzCore.framework" ]
}
}
static_library("test_support") {
sources = [
"test/app_list_test_model.cc",
"test/app_list_test_model.h",
"test/app_list_test_view_delegate.cc",
"test/app_list_test_view_delegate.h",
"test/test_search_result.cc",
"test/test_search_result.h",
]
deps = [
":app_list",
"//base",
"//ui/gfx",
"//ui/gfx/geometry",
"//ui/resources",
]
}
if (is_linux && !is_chromeos) {
# TODO(GYP): Figure out which of these work and are needed on other platforms.
if (toolkit_views) {
executable("app_list_demo") {
testonly = true
sources = [
"demo/app_list_demo_views.cc",
]
deps = [
":app_list",
":test_support",
"//base",
"//content",
"//content/public/browser",
"//skia",
"//url",
"//ui/base",
"//ui/events",
"//ui/resources",
"//ui/resources:ui_test_pak",
"//ui/views",
"//ui/views_content_client",
"//ui/views/controls/webview",
]
if (is_win) {
configs -= [ "//build/config/win:console" ]
configs += [ "//build/config/win:windowed" ]
deps += [
"//sandbox",
"//content:content_startup_helper_win",
]
}
}
}
}
# TODO(GYP): Delete this after we've converted everything to GN.
# The _run targets exist only for compatibility w/ GYP.
group("app_list_unittests_run") {
testonly = true
deps = [
":app_list_unittests",
]
}
test("app_list_unittests") {
sources = [
"app_list_item_list_unittest.cc",
"app_list_model_unittest.cc",
"folder_image_unittest.cc",
"pagination_model_unittest.cc",
"search/history_data_store_unittest.cc",
"search/mixer_unittest.cc",
"search/term_break_iterator_unittest.cc",
"search/tokenized_string_char_iterator_unittest.cc",
"search/tokenized_string_match_unittest.cc",
"search/tokenized_string_unittest.cc",
"test/run_all_unittests.cc",
]
# TODO: Add to data_deps instead once GN has rolled past #339778.
data = [
"$root_out_dir/ui_test.pak",
]
configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
deps = [
":app_list",
":test_support",
"//base",
"//base/test:test_support",
"//skia",
"//testing/gtest",
"//ui/base",
"//ui/compositor",
"//ui/events",
"//ui/events:test_support",
"//ui/gl",
"//ui/resources",
"//ui/resources:ui_test_pak",
]
data_deps = [ "//third_party/mesa:osmesa" ]
if (toolkit_views) {
sources += [
"views/app_list_main_view_unittest.cc",
"views/app_list_view_unittest.cc",
"views/apps_grid_view_unittest.cc",
"views/folder_header_view_unittest.cc",
"views/image_shadow_animator_unittest.cc",
"views/search_box_view_unittest.cc",
"views/search_result_list_view_unittest.cc",
"views/search_result_page_view_unittest.cc",
"views/speech_view_unittest.cc",
"views/test/apps_grid_view_test_api.cc",
"views/test/apps_grid_view_test_api.h",
]
deps += [
"//ui/views",
"//ui/views:test_support",
]
}
if (is_mac) {
sources += [
"cocoa/app_list_view_controller_unittest.mm",
"cocoa/app_list_window_controller_unittest.mm",
"cocoa/apps_grid_controller_unittest.mm",
"cocoa/apps_search_box_controller_unittest.mm",
"cocoa/apps_search_results_controller_unittest.mm",
"cocoa/test/apps_grid_controller_test_helper.h",
"cocoa/test/apps_grid_controller_test_helper.mm",
]
}
}