| # 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/ui.gni") |
| |
| source_set("public") { |
| sources = [ |
| "public/pinned_tab_collection.h", |
| "public/split_tab_collection.h", |
| "public/split_tab_data.h", |
| "public/supports_handles.h", |
| "public/tab_collection.h", |
| "public/tab_group.h", |
| "public/tab_group_tab_collection.h", |
| "public/tab_handle_factory.h", |
| "public/tab_interface.h", |
| "public/tab_strip_collection.h", |
| "public/unpinned_tab_collection.h", |
| ] |
| |
| # TODO(crbug.com/404296389): Move to the non-public target and refactor |
| # tab_collection.h to only require a forward declaration for testing. |
| sources += [ "public/tab_collection_storage.h" ] |
| |
| public_deps = [ |
| ":split_tabs", |
| "//base", |
| "//components/tab_groups", |
| ] |
| |
| deps = [ "//ui/gfx/range" ] |
| } |
| |
| source_set("split_tabs") { |
| sources = [ |
| "impl/split_tab_visual_data.cc", |
| "public/split_tab_id.h", |
| "public/split_tab_visual_data.h", |
| ] |
| |
| public_deps = [ |
| "//base", |
| "//ui/gfx/range", |
| ] |
| |
| deps = [ "//components/tab_groups" ] |
| } |
| |
| source_set("tabs") { |
| sources = [ |
| "impl/pinned_tab_collection.cc", |
| "impl/split_tab_collection.cc", |
| "impl/split_tab_data.cc", |
| "impl/supports_handles.cc", |
| "impl/tab_collection.cc", |
| "impl/tab_collection_storage.cc", |
| "impl/tab_group.cc", |
| "impl/tab_group_tab_collection.cc", |
| "impl/tab_handle_factory.cc", |
| "impl/tab_strip_collection.cc", |
| "impl/unpinned_tab_collection.cc", |
| ] |
| |
| deps = [ |
| ":public", |
| ":split_tabs", |
| ] |
| } |
| |
| source_set("test_support") { |
| testonly = true |
| |
| if (toolkit_views) { |
| sources = [ |
| "impl/mock_tab_interface.cc", |
| "public/mock_tab_interface.h", |
| ] |
| |
| deps = [ |
| ":public", |
| "//testing/gmock", |
| "//ui/views", |
| ] |
| } |
| } |
| |
| source_set("unit_tests") { |
| testonly = true |
| |
| # Move unit tests for tab collections here once decoupled from |
| # chrome/browser/ui/tabs/. Specifically: |
| # TODO(crbug.com/415963447): tab_collection_unittest.cc |
| # TODO(crbug.com/415965103): tab_collection_storage_unittest.cc |
| # TODO(crbug.com/415965106): tab_iterator_unittest.cc |
| sources = [ |
| "public/supports_handles_unittest.cc", |
| "public/tab_handle_factory_unittest.cc", |
| ] |
| |
| public_deps = [ "//base" ] |
| |
| deps = [ |
| ":public", |
| ":split_tabs", |
| ":tabs", |
| "//testing/gmock", |
| "//testing/gtest", |
| "//ui/gfx/range", |
| ] |
| } |