| Index: ios/chrome/browser/ui/ntp/BUILD.gn
 | 
| diff --git a/ios/chrome/browser/ui/ntp/BUILD.gn b/ios/chrome/browser/ui/ntp/BUILD.gn
 | 
| index d16c69931dc25a85cf44815a6c6804a7ec597323..4ea93cdb1eb1e0f6c6b90e9576dea17dce29ccfc 100644
 | 
| --- a/ios/chrome/browser/ui/ntp/BUILD.gn
 | 
| +++ b/ios/chrome/browser/ui/ntp/BUILD.gn
 | 
| @@ -100,3 +100,179 @@ bundle_data("resources") {
 | 
|      "{{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",
 | 
| +    "//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:resources",
 | 
| +    "//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") {
 | 
| +  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") {
 | 
| +  testonly = true
 | 
| +  sources = [
 | 
| +    "new_tab_page_egtest.mm",
 | 
| +  ]
 | 
| +  deps = [
 | 
| +    "//components/strings",
 | 
| +    "//ios/chrome/app/strings",
 | 
| +    "//ios/chrome/browser/ui",
 | 
| +    "//ios/chrome/browser/ui/commands",
 | 
| +    "//ios/chrome/browser/ui/ntp:ntp_internal",
 | 
| +    "//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") {
 | 
| +  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",
 | 
| +  ]
 | 
| +}
 | 
| 
 |