| # Copyright 2025 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/config/apple/swift_source_set.gni") |
| |
| swift_source_set("swift") { |
| bridge_header = "tab_strip_ui_swift_bridge.h" |
| sources = [ |
| "tab_strip_consumer.swift", |
| "tab_strip_decoration_view.swift", |
| "tab_strip_item_data.swift", |
| "tab_strip_item_identifier.swift", |
| "tab_strip_layout.swift", |
| "tab_strip_new_tab_button.swift", |
| "tab_strip_new_tab_button_delegate.swift", |
| "tab_strip_view_controller.swift", |
| ] |
| deps = [ |
| ":swift_constants", |
| ":ui", |
| ":utils", |
| "//ios/chrome/app/strings", |
| "//ios/chrome/browser/menu/ui_bundled", |
| "//ios/chrome/browser/saved_tab_groups/ui", |
| "//ios/chrome/browser/shared/public/commands", |
| "//ios/chrome/browser/shared/public/metrics:metrics_bridge", |
| "//ios/chrome/browser/shared/ui/symbols", |
| "//ios/chrome/browser/shared/ui/util", |
| "//ios/chrome/browser/shared/ui/util:util_swift", |
| "//ios/chrome/browser/tab_switcher/tab_strip/ui/context_menu", |
| "//ios/chrome/browser/tab_switcher/ui_bundled", |
| "//ios/chrome/browser/tab_switcher/ui_bundled:items", |
| "//ios/chrome/browser/tab_switcher/ui_bundled:utils", |
| "//ios/chrome/common/ui/colors", |
| "//ios/chrome/common/ui/elements", |
| "//ui/base", |
| ] |
| } |
| |
| source_set("ui") { |
| sources = [ |
| "tab_strip_cell.h", |
| "tab_strip_cell.mm", |
| "tab_strip_group_cell.h", |
| "tab_strip_group_cell.mm", |
| "tab_strip_group_cell_data_source.h", |
| "tab_strip_group_stroke_view.h", |
| "tab_strip_group_stroke_view.mm", |
| "tab_strip_mutator.h", |
| "tab_strip_tab_cell.h", |
| "tab_strip_tab_cell.mm", |
| "tab_strip_tab_item.h", |
| "tab_strip_tab_item.mm", |
| ] |
| deps = [ |
| ":swift_constants_for_objective_c", |
| ":utils", |
| "//base", |
| "//ios/chrome/app/strings", |
| "//ios/chrome/browser/saved_tab_groups/ui", |
| "//ios/chrome/browser/shared/ui/elements", |
| "//ios/chrome/browser/shared/ui/symbols", |
| "//ios/chrome/browser/shared/ui/util", |
| "//ios/chrome/browser/shared/ui/util/image", |
| "//ios/chrome/browser/tab_switcher/ui_bundled:items", |
| "//ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/pinned_tabs:constants", |
| "//ios/chrome/common/ui/colors", |
| "//ios/chrome/common/ui/elements", |
| "//ios/chrome/common/ui/util", |
| "//ios/public/provider/chrome/browser/raccoon:raccoon_api", |
| "//ui/base", |
| ] |
| } |
| |
| source_set("utils") { |
| sources = [ |
| "tab_strip_utils.h", |
| "tab_strip_utils.mm", |
| ] |
| deps = [ |
| "//base", |
| "//ios/chrome/common/ui/colors", |
| ] |
| } |
| |
| source_set("unit_tests") { |
| testonly = true |
| sources = [ "tab_strip_item_identifier_unittest.mm" ] |
| deps = [ |
| ":swift", |
| "//components/tab_groups", |
| "//ios/chrome/browser/shared/model/web_state_list", |
| "//ios/chrome/browser/shared/model/web_state_list/test:test_support", |
| "//ios/chrome/browser/tab_switcher/ui_bundled", |
| "//ios/chrome/browser/tab_switcher/ui_bundled:items", |
| "//ios/web/public", |
| "//ios/web/public/test/fakes", |
| "//testing/gtest", |
| ] |
| } |
| |
| swift_source_set("swift_constants") { |
| sources = [ "tab_strip_constants.swift" ] |
| } |
| |
| swift_source_set("swift_constants_for_objective_c") { |
| sources = [ "tab_strip_constants_for_objective_c.swift" ] |
| deps = [ ":swift_constants" ] |
| } |