# 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. source_set("tab_switcher") { configs += [ "//build/config/compiler:enable_arc" ] sources = [ "tab_model_snapshot.h", "tab_model_snapshot.mm", "tab_switcher.h", "tab_switcher_button.h", "tab_switcher_button.mm", "tab_switcher_cache.h", "tab_switcher_cache.mm", "tab_switcher_controller.h", "tab_switcher_controller.mm", "tab_switcher_header_cell.h", "tab_switcher_header_cell.mm", "tab_switcher_header_view.h", "tab_switcher_header_view.mm", "tab_switcher_model.h", "tab_switcher_model.mm", "tab_switcher_model_private.h", "tab_switcher_panel_cell.h", "tab_switcher_panel_cell.mm", "tab_switcher_panel_collection_view_layout.h", "tab_switcher_panel_collection_view_layout.mm", "tab_switcher_panel_controller.h", "tab_switcher_panel_controller.mm", "tab_switcher_panel_overlay_view.h", "tab_switcher_panel_overlay_view.mm", "tab_switcher_panel_view.h", "tab_switcher_panel_view.mm", "tab_switcher_session_cell_data.h", "tab_switcher_session_cell_data.mm", "tab_switcher_session_changes.h", "tab_switcher_session_changes.mm", "tab_switcher_transition_context.h", "tab_switcher_transition_context.mm", "tab_switcher_view.h", "tab_switcher_view.mm", ] deps = [ ":utils", "resources:tabswitcher_full_history", "resources:tabswitcher_incognito", "resources:tabswitcher_laptop", "resources:tabswitcher_menu", "resources:tabswitcher_new_tab", "resources:tabswitcher_new_tab_fab", "resources:tabswitcher_open_tabs", "resources:tabswitcher_other_devices", "resources:tabswitcher_overflow_arrow", "resources:tabswitcher_phone", "resources:tabswitcher_recently_closed", "resources:tabswitcher_tab_switcher_button", "resources:tabswitcher_tab_switcher_count_button", "resources:tabswitcher_tab_switcher_count_button_pressed", "resources:tabswitcher_tablet", "//base", "//components/browser_sync", "//components/favicon/ios", "//components/sessions", "//components/signin/core/browser", "//components/sync", "//components/sync_sessions", "//ios/chrome/app/strings", "//ios/chrome/app/theme", "//ios/chrome/browser", "//ios/chrome/browser/browser_state", "//ios/chrome/browser/favicon", "//ios/chrome/browser/feature_engagement", "//ios/chrome/browser/metrics:metrics_internal", "//ios/chrome/browser/sessions", "//ios/chrome/browser/sessions:serialisation", "//ios/chrome/browser/signin", "//ios/chrome/browser/snapshots", "//ios/chrome/browser/sync", "//ios/chrome/browser/tabs", "//ios/chrome/browser/ui", "//ios/chrome/browser/ui/authentication", "//ios/chrome/browser/ui/authentication:authentication_ui", "//ios/chrome/browser/ui/colors", "//ios/chrome/browser/ui/commands", "//ios/chrome/browser/ui/image_util", "//ios/chrome/browser/ui/keyboard", "//ios/chrome/browser/ui/material_components", "//ios/chrome/browser/ui/ntp/recent_tabs/views", "//ios/chrome/browser/ui/settings/sync_utils", "//ios/chrome/browser/ui/signin_interaction/public", "//ios/chrome/browser/ui/tabs/requirements", "//ios/chrome/browser/ui/toolbar:toolbar_ui", "//ios/chrome/browser/web", "//ios/chrome/browser/web_state_list", "//ios/chrome/common:ios_app_bundle_id_prefix_buildflags", "//ios/chrome/common/favicon", "//ios/public/provider/chrome/browser", "//ios/third_party/material_components_ios", "//ios/third_party/material_roboto_font_loader_ios", "//ios/third_party/material_text_accessibility_ios", "//ios/web", "//ui/base", "//ui/gfx", "//url", ] public_deps = [ "//ios/chrome/browser/ui/ntp/recent_tabs", ] libs = [ "QuartzCore.framework", "UIKit.framework", ] } source_set("modes") { configs += [ "//build/config/compiler:enable_arc" ] sources = [ "tab_switcher_mode.h", "tab_switcher_mode.mm", ] deps = [ "//base", "//ios/chrome/browser/ui", ] } source_set("utils") { configs += [ "//build/config/compiler:enable_arc" ] sources = [ "tab_switcher_utils.h", "tab_switcher_utils.mm", ] deps = [ "//base", "//components/browser_sync", "//components/sync", "//components/sync_sessions", "//ios/chrome/app/strings", "//ios/chrome/app/theme", "//ios/chrome/browser/browser_state", "//ios/chrome/browser/favicon", "//ios/chrome/browser/sync", "//ios/chrome/browser/ui", "//ios/chrome/common/favicon", "//ui/base", ] } source_set("egtest_support") { testonly = true sources = [ "tab_switcher_egtest_util.h", "tab_switcher_egtest_util.mm", ] configs += [ "//build/config/compiler:enable_arc" ] deps = [ "//base", "//base/test:test_support", "//ios/chrome/app/strings", "//ios/chrome/browser/ui/tools_menu/public", "//ios/chrome/test/app:test_support", "//ios/chrome/test/earl_grey:test_support", "//ios/third_party/earl_grey:earl_grey+link", "//ui/base", ] } source_set("unit_tests") { configs += [ "//build/config/compiler:enable_arc" ] testonly = true sources = [ "tab_model_snapshot_unittest.mm", "tab_switcher_model_unittest.mm", "tab_switcher_utils_unittest.mm", ] deps = [ ":tab_switcher", ":utils", "//base", "//ios/chrome/browser/browser_state:test_support", "//ios/chrome/browser/tabs", "//ios/chrome/browser/ui/ntp/recent_tabs", "//ios/chrome/browser/web_state_list", "//ios/chrome/browser/web_state_list:test_support", "//ios/web/public/test/fakes", "//testing/gtest", "//third_party/ocmock", ] } source_set("eg_tests") { configs += [ "//build/config/compiler:enable_arc" ] testonly = true sources = [ "tab_switcher_controller_egtest.mm", "tab_switcher_transition_egtest.mm", ] deps = [ ":egtest_support", ":modes", ":tab_switcher", "//base", "//base/test:test_support", "//ios/chrome/app:app_internal", "//ios/chrome/app/strings", "//ios/chrome/browser", "//ios/chrome/browser/tabs", "//ios/chrome/browser/ui", "//ios/chrome/browser/ui/authentication:eg_test_support", "//ios/chrome/browser/ui/tab_grid:egtest_support", "//ios/chrome/test/app:test_support", "//ios/chrome/test/earl_grey:test_support", "//ios/public/provider/chrome/browser/signin:test_support", "//ios/third_party/earl_grey:earl_grey+link", "//ios/web/public/test/http_server", "//ui/base", ] libs = [ "UIKit.framework", "XCTest.framework", ] }