From dda33ca261f52b1f434640b13cb258f16df677cc Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Sun, 29 Mar 2026 14:54:27 +0100 Subject: [PATCH] [cr148] `AddTabData` dropped `TabData` The uses we make of `AddTabsAt` are all in tests, and these cases already relied on the use of `SetDataForTesting` for testing as well to work. Chromium changes: https://chromium.googlesource.com/chromium/src/+/74da1f8342e2593df0fd30271db17987706a35a1 commit 74da1f8342e2593df0fd30271db17987706a35a1 Author: Steven Luong Date: Tue Mar 24 14:12:23 2026 -0700 Reland "[TabData] Remove TabData usage from TabStripController" This reverts commit c5d67fe9a40ec6b08a9274c6f594e6531f6d0da4. Reason for revert: The original CL was reverted because there was a bug in how the TabDataObserver was handling thumbnails for discarded tabs. Since the fix for that landed last week and crashes have gone down. This CL can be relanded now. Original change's description: > Revert "[TabData] Remove TabData usage from TabStripController" > > This reverts commit 231ccad15761c8cba75c882e9ae0d2c7b75f303b. > > Reason for revert: The tab strip data is needed because > https://chromium-review.git.corp.google.com/c/chromium/src/+/7644981 > is reverted. > > Original change's description: > > [TabData] Remove TabData usage from TabStripController > > > > The tab can now populate its own tab data so it doesn't need to rely on > > the BrowserTabStripController and TabStrip to pass in a TabData. Thus > > usage of TabData is deleted in this CL. > > > > Bug: 447214891 > > Change-Id: Ia864e73a7b1f058e8a3da9f8911afeaa5dbfba5a > > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7657233 > > Reviewed-by: Alison Gale > > Commit-Queue: Steven Luong > > Cr-Commit-Position: refs/heads/main@{#1598602} > > Bug: 447214891 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Change-Id: Ia521f463988e532fd18f7f8e122627c85553d389 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7663410 > Commit-Queue: Darryl James > Bot-Commit: Rubber Stamper > Auto-Submit: Steven Luong > Reviewed-by: Darryl James > Cr-Commit-Position: refs/heads/main@{#1598703} Bug: 447214891 Change-Id: Iabf862532b9b3029e28f058b22fd96677240bfa4 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7698715 Bot-Commit: Rubber Stamper Commit-Queue: Steven Luong Reviewed-by: Alison Gale Reviewed-by: Darryl James Cr-Commit-Position: refs/heads/main@{#1604379} --- .../ui/views/tabs/brave_tab_hover_browsertest.cc | 15 +++++++++------ .../tab_hover_card_bubble_view_browsertest.cc | 10 +++++----- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/browser/ui/views/tabs/brave_tab_hover_browsertest.cc b/browser/ui/views/tabs/brave_tab_hover_browsertest.cc index 312eb13776b..490d9cac6e7 100644 --- a/browser/ui/views/tabs/brave_tab_hover_browsertest.cc +++ b/browser/ui/views/tabs/brave_tab_hover_browsertest.cc @@ -92,11 +92,12 @@ IN_PROC_BROWSER_TEST_F(BraveTabHoverTest, ThumbnailHelperIsAlwaysAttached) { tabs::TabData data; data.visible_url = GURL("https://card.com"); data.title = u"Hello World"; - data_list.push_back({.index = 0, .handle = tabs::TabHandle(0), .data = data}); + data_list.push_back( + {.index = 0, .handle = tabs::TabHandle(0), .is_pinned = false}); horizontal_tab_strip_for_testing()->AddTabsAt(data_list); horizontal_tab_strip_for_testing()->tab_at(0)->SetDataForTesting(data); EXPECT_EQ(0, browser()->tab_strip_model()->active_index()); - EXPECT_EQ(data_list[0].data.visible_url, active_tab()->data().visible_url); + EXPECT_EQ(data.visible_url, active_tab()->data().visible_url); EXPECT_NE(nullptr, content::WebContentsUserData::FromWebContents( contents())); @@ -106,11 +107,12 @@ IN_PROC_BROWSER_TEST_F(BraveTabHoverTest, ThumbnailHelperIsAlwaysAttached) { data_list = {}; data.visible_url = GURL("https://card-with-preview.com"); data.title = u"Foo Bar"; - data_list.push_back({.index = 0, .handle = tabs::TabHandle(1), .data = data}); + data_list.push_back( + {.index = 0, .handle = tabs::TabHandle(1), .is_pinned = false}); horizontal_tab_strip_for_testing()->AddTabsAt(data_list); horizontal_tab_strip_for_testing()->tab_at(0)->SetDataForTesting(data); EXPECT_EQ(0, browser()->tab_strip_model()->active_index()); - EXPECT_EQ(data_list[0].data.visible_url, active_tab()->data().visible_url); + EXPECT_EQ(data.visible_url, active_tab()->data().visible_url); EXPECT_NE(nullptr, content::WebContentsUserData::FromWebContents( contents())); @@ -121,11 +123,12 @@ IN_PROC_BROWSER_TEST_F(BraveTabHoverTest, ThumbnailHelperIsAlwaysAttached) { data_list = {}; data.visible_url = GURL("https://tooltip.com"); data.title = u"Baf Baz"; - data_list.push_back({.index = 0, .handle = tabs::TabHandle(2), .data = data}); + data_list.push_back( + {.index = 0, .handle = tabs::TabHandle(2), .is_pinned = false}); horizontal_tab_strip_for_testing()->AddTabsAt(data_list); horizontal_tab_strip_for_testing()->tab_at(0)->SetDataForTesting(data); EXPECT_EQ(0, horizontal_tab_strip_for_testing()->GetActiveIndex()); - EXPECT_EQ(data_list[0].data.visible_url, active_tab()->data().visible_url); + EXPECT_EQ(data.visible_url, active_tab()->data().visible_url); EXPECT_NE(nullptr, content::WebContentsUserData::FromWebContents( contents())); diff --git a/chromium_src/chrome/browser/ui/views/tabs/tab_hover_card_bubble_view_browsertest.cc b/chromium_src/chrome/browser/ui/views/tabs/tab_hover_card_bubble_view_browsertest.cc index 65fb37db6ae..1cfc72ae529 100644 --- a/chromium_src/chrome/browser/ui/views/tabs/tab_hover_card_bubble_view_browsertest.cc +++ b/chromium_src/chrome/browser/ui/views/tabs/tab_hover_card_bubble_view_browsertest.cc @@ -41,16 +41,16 @@ class TabHoverCardBubbleViewBrowserTest : public DialogBrowserTest, // DialogBrowserTest: void ShowUi(const std::string& name) override { std::vector data_list; - tabs::TabData data; - data.title = kTabTitle; - data.last_committed_url = GURL(kTabUrl); data_list.push_back( - {.index = 0, .handle = tabs::TabHandle(0), .data = data}); + {.index = 0, .handle = tabs::TabHandle(0), .is_pinned = false}); GetTabStrip(browser())->AddTabsAt(data_list); // As tabs::TabHandle::Get() would return nullptr, the tab data would not be // set. So we need to set the tab data manually here for testing. - GetTabStrip(browser())->tab_at(0)->SetDataForTesting(data); + tabs::TabData tab_data; + tab_data.title = kTabTitle; + tab_data.last_committed_url = GURL(kTabUrl); + GetTabStrip(browser())->tab_at(0)->SetDataForTesting(tab_data); SimulateHoverTab(browser(), 0); }