blob: 107fe31ffd7c989871a5e553a5492b9bac2ae583 [file] [log] [blame]
// 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.
#ifndef COMPONENTS_TABS_PUBLIC_SPLIT_TAB_COLLECTION_H_
#define COMPONENTS_TABS_PUBLIC_SPLIT_TAB_COLLECTION_H_
#include "components/tabs/public/split_tab_id.h"
#include "components/tabs/public/tab_collection.h"
namespace split_tabs {
class SplitTabData;
class SplitTabVisualData;
} // namespace split_tabs
namespace tabs {
// A collection for split tabs.
class SplitTabCollection : public TabCollection {
public:
explicit SplitTabCollection(split_tabs::SplitTabId split_id,
split_tabs::SplitTabVisualData visual_data);
~SplitTabCollection() override;
SplitTabCollection(const SplitTabCollection&) = delete;
SplitTabCollection& operator=(const SplitTabCollection&) = delete;
split_tabs::SplitTabData* data() const { return split_tab_data_.get(); }
// Returns the SplitTabId this collection is associated with.
split_tabs::SplitTabId GetSplitTabId() const;
private:
std::unique_ptr<split_tabs::SplitTabData> split_tab_data_;
};
} // namespace tabs
#endif // COMPONENTS_TABS_PUBLIC_SPLIT_TAB_COLLECTION_H_