# Copyright 2016 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.

bundle_data("resources") {
  sources = [
    "resources/bookmarks_bar_bg.png",
    "resources/bookmarks_bar_bg@2x.png",
    "resources/bookmarks_bar_bg@2x~ipad.png",
    "resources/bookmarks_bar_bg_pressed@2x~ipad.png",
    "resources/bookmarks_bar_bg_pressed~ipad.png",
    "resources/bookmarks_bar_bg~ipad.png",
    "resources/bookmarks_bar_breadcrumb.png",
    "resources/bookmarks_bar_breadcrumb@2x.png",
    "resources/bookmarks_bar_breadcrumb@2x~ipad.png",
    "resources/bookmarks_bar_breadcrumb~ipad.png",
    "resources/bookmarks_bar_edit.png",
    "resources/bookmarks_bar_edit@2x.png",
    "resources/bookmarks_bar_edit@2x~ipad.png",
    "resources/bookmarks_bar_edit_moreshadow.png",
    "resources/bookmarks_bar_edit_moreshadow@2x.png",
    "resources/bookmarks_bar_edit_pressed.png",
    "resources/bookmarks_bar_edit_pressed@2x.png",
    "resources/bookmarks_bar_edit_pressed@2x~ipad.png",
    "resources/bookmarks_bar_edit_pressed_moreshadow.png",
    "resources/bookmarks_bar_edit_pressed_moreshadow@2x.png",
    "resources/bookmarks_bar_edit_pressed~ipad.png",
    "resources/bookmarks_bar_edit~ipad.png",
    "resources/bookmarks_bar_left@2x~ipad.png",
    "resources/bookmarks_bar_left~ipad.png",
    "resources/bookmarks_button_bg.png",
    "resources/bookmarks_button_bg@2x.png",
    "resources/bookmarks_button_border.png",
    "resources/bookmarks_button_border@2x.png",
    "resources/disclosure_open.png",
    "resources/disclosure_open@2x.png",
    "resources/incognito_icon.png",
    "resources/incognito_icon@2x.png",
    "resources/incognito_icon@3x.png",
    "resources/ntp_bookmarks.png",
    "resources/ntp_bookmarks@2x.png",
    "resources/ntp_bookmarks@3x.png",
    "resources/ntp_bottom_bar_shadow.png",
    "resources/ntp_bottom_bar_shadow@2x.png",
    "resources/ntp_delete_button.png",
    "resources/ntp_delete_button@2x.png",
    "resources/ntp_google_search_box.png",
    "resources/ntp_google_search_box@2x.png",
    "resources/ntp_google_search_box@3x.png",
    "resources/ntp_incognito.png",
    "resources/ntp_incognito@2x.png",
    "resources/ntp_mv_placeholder_bg.png",
    "resources/ntp_mv_placeholder_bg@2x.png",
    "resources/ntp_mv_placeholder_bg@3x.png",
    "resources/ntp_mv_recentbar@2x~ipad.png",
    "resources/ntp_mv_recentbar~ipad.png",
    "resources/ntp_mv_recentpress@2x~ipad.png",
    "resources/ntp_mv_recentpress~ipad.png",
    "resources/ntp_mv_search.png",
    "resources/ntp_mv_search@2x.png",
    "resources/ntp_mv_thumbnail_container.png",
    "resources/ntp_mv_thumbnail_container@2x.png",
    "resources/ntp_mv_thumbnail_container@3x.png",
    "resources/ntp_mv_thumbnail_empty.png",
    "resources/ntp_mv_thumbnail_empty@2x.png",
    "resources/ntp_mv_thumbnail_empty@2x~ipad.png",
    "resources/ntp_mv_thumbnail_empty~ipad.png",
    "resources/ntp_mv_welcome_favicon.png",
    "resources/ntp_mv_welcome_favicon@2x.png",
    "resources/ntp_opentabs@2x.png",
    "resources/ntp_opentabs@3x.png",
    "resources/ntp_opentabs_clock.png",
    "resources/ntp_opentabs_clock@2x.png",
    "resources/ntp_opentabs_clock@3x.png",
    "resources/ntp_opentabs_header@2x~ipad.png",
    "resources/ntp_opentabs_header~ipad.png",
    "resources/ntp_opentabs_laptop.png",
    "resources/ntp_opentabs_laptop@2x.png",
    "resources/ntp_opentabs_laptop@3x.png",
    "resources/ntp_opentabs_last_row@2x~ipad.png",
    "resources/ntp_opentabs_last_row_h@2x~ipad.png",
    "resources/ntp_opentabs_last_row_h~ipad.png",
    "resources/ntp_opentabs_last_row~ipad.png",
    "resources/ntp_opentabs_list_item@2x~ipad.png",
    "resources/ntp_opentabs_list_item_h@2x~ipad.png",
    "resources/ntp_opentabs_list_item_h~ipad.png",
    "resources/ntp_opentabs_list_item~ipad.png",
    "resources/ntp_opentabs_phone.png",
    "resources/ntp_opentabs_phone@2x.png",
    "resources/ntp_opentabs_phone@3x.png",
    "resources/ntp_opentabs_recent_arrow.png",
    "resources/ntp_opentabs_recent_arrow@2x.png",
    "resources/ntp_opentabs_recent_arrow@3x.png",
    "resources/ntp_opentabs_tablet.png",
    "resources/ntp_opentabs_tablet@2x.png",
    "resources/ntp_opentabs_tablet@3x.png",
    "resources/ntp_recently_closed.png",
    "resources/ntp_recently_closed@2x.png",
    "resources/ntp_recently_closed@3x.png",
  ]
  outputs = [
    "{{bundle_resources_dir}}/{{source_file_part}}",
  ]
}

source_set("ntp") {
  sources = [
    "new_tab_page_panel_protocol.h",
  ]
}

source_set("ntp_internal") {
  sources = [
    "centering_scrollview.h",
    "centering_scrollview.mm",
    "google_landing_controller.h",
    "google_landing_controller.mm",
    "incognito_panel_controller.h",
    "incognito_panel_controller.mm",
    "most_visited_cell.h",
    "most_visited_cell.mm",
    "most_visited_layout.h",
    "most_visited_layout.mm",
    "new_tab_page_bar.h",
    "new_tab_page_bar.mm",
    "new_tab_page_bar_button.h",
    "new_tab_page_bar_button.mm",
    "new_tab_page_bar_item.h",
    "new_tab_page_bar_item.mm",
    "new_tab_page_controller.h",
    "new_tab_page_controller.mm",
    "new_tab_page_header_constants.h",
    "new_tab_page_header_constants.mm",
    "new_tab_page_header_view.h",
    "new_tab_page_header_view.mm",
    "new_tab_page_panel_protocol.mm",
    "new_tab_page_toolbar_controller.h",
    "new_tab_page_toolbar_controller.mm",
    "new_tab_page_view.h",
    "new_tab_page_view.mm",
    "notification_promo_whats_new.h",
    "notification_promo_whats_new.mm",
    "whats_new_header_view.h",
    "whats_new_header_view.mm",
  ]
  deps = [
    ":ntp",
    ":resources",
    "//base",
    "//base:i18n",
    "//components/favicon/core",
    "//components/favicon_base",
    "//components/google/core/browser",
    "//components/history/core/browser",
    "//components/keyed_service/core",
    "//components/metrics",
    "//components/ntp_tiles",
    "//components/prefs",
    "//components/rappor",
    "//components/reading_list/core",
    "//components/search_engines",
    "//components/strings",
    "//components/suggestions",
    "//components/sync_sessions",
    "//components/toolbar",
    "//ios/chrome/app/strings",
    "//ios/chrome/app/theme",
    "//ios/chrome/browser",
    "//ios/chrome/browser/browser_state",
    "//ios/chrome/browser/favicon",
    "//ios/chrome/browser/history",
    "//ios/chrome/browser/metrics:metrics_internal",
    "//ios/chrome/browser/ntp_tiles",
    "//ios/chrome/browser/reading_list",
    "//ios/chrome/browser/search_engines",
    "//ios/chrome/browser/suggestions",
    "//ios/chrome/browser/sync",
    "//ios/chrome/browser/tabs",
    "//ios/chrome/browser/ui",
    "//ios/chrome/browser/ui/bookmarks",
    "//ios/chrome/browser/ui/commands",
    "//ios/chrome/browser/ui/context_menu",
    "//ios/chrome/browser/ui/ntp/recent_tabs",
    "//ios/chrome/browser/ui/overscroll_actions",
    "//ios/chrome/browser/ui/toolbar",
    "//ios/chrome/browser/ui/toolbar:resource_macros",
    "//ios/chrome/common",
    "//ios/public/provider/chrome/browser",
    "//ios/public/provider/chrome/browser/images",
    "//ios/public/provider/chrome/browser/ui",
    "//ios/public/provider/chrome/browser/voice",
    "//ios/third_party/material_components_ios",
    "//ios/third_party/material_roboto_font_loader_ios",
    "//ios/web",
    "//net",
    "//skia",
    "//ui/base",
    "//ui/gfx",
    "//url",
  ]
  libs = [
    "CoreGraphics.framework",
    "QuartzCore.framework",
    "UIKit.framework",
  ]
}

source_set("unit_tests") {
  configs += [ "//build/config/compiler:enable_arc" ]
  testonly = true
  sources = [
    "centering_scrollview_unittest.mm",
    "google_landing_controller_unittest.mm",
    "most_visited_cell_unittest.mm",
    "new_tab_page_bar_unittest.mm",
    "new_tab_page_controller_unittest.mm",
    "notification_promo_whats_new_unittest.mm",
  ]
  deps = [
    ":ntp",
    ":ntp_internal",
    "//base",
    "//base/test:test_support",
    "//components/bookmarks/test",
    "//components/metrics",
    "//components/prefs:test_support",
    "//components/search_engines",
    "//components/sessions",
    "//components/variations",
    "//ios/chrome/app/strings",
    "//ios/chrome/browser",
    "//ios/chrome/browser/bookmarks",
    "//ios/chrome/browser/browser_state:test_support",
    "//ios/chrome/browser/search_engines",
    "//ios/chrome/browser/sessions",
    "//ios/chrome/browser/ui",
    "//ios/chrome/browser/ui/commands",
    "//ios/chrome/test:test_support",
    "//ios/public/provider/chrome/browser/images",
    "//ios/web:test_support",
    "//testing/gtest",
    "//third_party/ocmock",
    "//ui/base",
    "//url",
  ]
}

source_set("eg_tests") {
  configs += [ "//build/config/compiler:enable_arc" ]
  testonly = true
  sources = [
    "new_tab_page_egtest.mm",
  ]
  deps = [
    ":ntp_internal",
    "//components/strings",
    "//ios/chrome/app/strings",
    "//ios/chrome/browser/ui",
    "//ios/chrome/browser/ui/commands",
    "//ios/chrome/test/app:test_support",
    "//ios/chrome/test/earl_grey:test_support",
    "//ios/testing:ios_test_support",
    "//ios/testing/earl_grey:earl_grey_support",
    "//ios/third_party/earl_grey",
    "//ui/base",
  ]
  libs = [ "XCTest.framework" ]
}

source_set("perf_tests") {
  configs += [ "//build/config/compiler:enable_arc" ]
  testonly = true
  sources = [
    "new_tab_page_perftest.mm",
  ]
  deps = [
    "//base/test:test_support",
    "//ios/chrome/browser/sessions",
    "//ios/chrome/browser/tabs",
    "//ios/chrome/browser/test:perf_test_support",
    "//ios/chrome/browser/ui:ui_internal",
  ]
}
