# Copyright 2018 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("//ios/public/provider/chrome/browser/build_config.gni") source_set("tab_grid") { sources = [ "tab_grid_adaptor.h", "tab_grid_adaptor.mm", "tab_grid_coordinator.h", "tab_grid_coordinator.mm", "tab_grid_mediator.h", "tab_grid_mediator.mm", ] configs += [ "//build/config/compiler:enable_arc" ] deps = [ ":tab_grid_ui", "grid:grid_ui", "//base", "//components/favicon/ios", "//ios/chrome/browser", "//ios/chrome/browser/browser_state", "//ios/chrome/browser/snapshots", "//ios/chrome/browser/tabs", "//ios/chrome/browser/ui/commands", "//ios/chrome/browser/ui/coordinators:chrome_coordinators", "//ios/chrome/browser/ui/main", "//ios/chrome/browser/ui/recent_tabs", "//ios/chrome/browser/ui/recent_tabs:recent_tabs_ui", "//ios/chrome/browser/ui/tab_switcher", "//ios/chrome/browser/web", "//ios/chrome/browser/web_state_list", "//ios/web", "//ui/gfx", ] } source_set("tab_grid_ui") { sources = [ "tab_grid_bottom_toolbar.h", "tab_grid_bottom_toolbar.mm", "tab_grid_constants.h", "tab_grid_constants.mm", "tab_grid_empty_state_view.h", "tab_grid_empty_state_view.mm", "tab_grid_new_tab_button.h", "tab_grid_new_tab_button.mm", "tab_grid_page_control.h", "tab_grid_page_control.mm", "tab_grid_paging.h", "tab_grid_top_toolbar.h", "tab_grid_top_toolbar.mm", "tab_grid_transition_handler.h", "tab_grid_transition_handler.mm", "tab_grid_view_controller.h", "tab_grid_view_controller.mm", ] configs += [ "//build/config/compiler:enable_arc" ] deps = [ "grid:grid_ui", "resources:new_tab_floating_button", "resources:new_tab_floating_button_incognito", "resources:new_tab_toolbar_button", "resources:new_tab_toolbar_button_incognito", "resources:page_control_assets", "//base", "//ios/chrome/app/strings", "//ios/chrome/browser", "//ios/chrome/browser/ui:ui_util", "//ios/chrome/browser/ui/recent_tabs:recent_tabs_ui", "//ios/chrome/browser/ui/tab_grid/transitions", "//ios/chrome/browser/ui/util:constraints_ui", "//ui/base", ] } source_set("unit_tests") { configs += [ "//build/config/compiler:enable_arc" ] testonly = true sources = [ "tab_grid_coordinator_unittest.mm", "tab_grid_mediator_unittest.mm", ] deps = [ ":tab_grid", ":tab_grid_ui", "grid:grid_ui", "//base", "//base/test:test_support", "//ios/chrome/browser", "//ios/chrome/browser/browser_state:test_support", "//ios/chrome/browser/tabs", "//ios/chrome/browser/ui/tab_switcher", "//ios/chrome/browser/web", "//ios/chrome/browser/web:test_support", "//ios/chrome/browser/web_state_list", "//ios/chrome/browser/web_state_list:test_support", "//ios/chrome/test:block_cleanup_test", "//ios/web/public/test", "//ios/web/public/test/fakes", "//testing/gtest", "//third_party/ocmock", ] } source_set("egtest_support") { configs += [ "//build/config/compiler:enable_arc" ] testonly = true sources = [ "tab_grid_egtest_util.h", "tab_grid_egtest_util.mm", ] deps = [ ":tab_grid_ui", "grid:grid_ui", "//base", "//ios/chrome/app/strings", "//ios/chrome/browser/ui:ui_util", "//ios/chrome/browser/ui/tools_menu/public", "//ios/chrome/test/app:test_support", "//ios/chrome/test/earl_grey:test_support", "//ios/testing:ios_test_support", "//ios/third_party/earl_grey:earl_grey+link", "//ui/base", ] } source_set("eg_tests") { configs += [ "//build/config/compiler:enable_arc" ] testonly = true sources = [ "tab_grid_egtest.mm", ] deps = [ ":egtest_support", "//ios/chrome/test/earl_grey:test_support", ] libs = [ "XCTest.framework" ] } source_set("hooks") { configs += [ "//build/config/compiler:enable_arc" ] testonly = true sources = [ "tab_grid_egtests_hook.mm", ] deps = [ "//ios/chrome/app:tests_hook", ] }