Create components/tab_groups/ and share types with sessions
This allows us to remove some redeclared classes like TabGroupMetadata. It also gives greater flexibility and readability when creating more Tab Group types (such as TabGroupColor in the followup change).
Change-Id: I5767f6868c202c37550fa2a9e62e565a87ea5686
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1967128
Reviewed-by: Scott Violet <[email protected]>
Reviewed-by: Collin Baker <[email protected]>
Commit-Queue: Connie Wan <[email protected]>
Cr-Commit-Position: refs/heads/master@{#726112}
diff --git a/chrome/browser/ui/browser_live_tab_context.h b/chrome/browser/ui/browser_live_tab_context.h
index f17d16b..3a64e862 100644
--- a/chrome/browser/ui/browser_live_tab_context.h
+++ b/chrome/browser/ui/browser_live_tab_context.h
@@ -11,6 +11,8 @@
#include "base/compiler_specific.h"
#include "base/macros.h"
#include "components/sessions/core/live_tab_context.h"
+#include "components/tab_groups/tab_group_id.h"
+#include "components/tab_groups/tab_group_visual_data.h"
#include "ui/base/ui_base_types.h"
class Browser;
@@ -40,8 +42,13 @@
sessions::LiveTab* GetLiveTabAt(int index) const override;
sessions::LiveTab* GetActiveLiveTab() const override;
bool IsTabPinned(int index) const override;
- base::Optional<base::Token> GetTabGroupForTab(int index) const override;
- TabGroupMetadata GetTabGroupMetadata(base::Token group) const override;
+ base::Optional<tab_groups::TabGroupId> GetTabGroupForTab(
+ int index) const override;
+ tab_groups::TabGroupVisualData* GetVisualDataForGroup(
+ tab_groups::TabGroupId group) const override;
+ void SetVisualDataForGroup(
+ tab_groups::TabGroupId group,
+ tab_groups::TabGroupVisualData visual_data) override;
const gfx::Rect GetRestoredBounds() const override;
ui::WindowShowState GetRestoredState() const override;
std::string GetWorkspace() const override;
@@ -51,8 +58,8 @@
int tab_index,
int selected_navigation,
const std::string& extension_app_id,
- base::Optional<base::Token> group,
- const TabGroupMetadata* group_metadata,
+ base::Optional<tab_groups::TabGroupId> group,
+ const tab_groups::TabGroupVisualData group_visual_data,
bool select,
bool pin,
bool from_last_session,
@@ -60,15 +67,13 @@
const std::string& user_agent_override) override;
sessions::LiveTab* ReplaceRestoredTab(
const std::vector<sessions::SerializedNavigationEntry>& navigations,
- base::Optional<base::Token> group,
+ base::Optional<tab_groups::TabGroupId> group,
int selected_navigation,
bool from_last_session,
const std::string& extension_app_id,
const sessions::PlatformSpecificTabData* tab_platform_data,
const std::string& user_agent_override) override;
void CloseTab() override;
- void SetTabGroupMetadata(base::Token group,
- TabGroupMetadata group_metadata) override;
// see Browser::Create
static sessions::LiveTabContext* Create(Profile* profile,