Skip to content

Commit 2757464

Browse files
committed
Fixed reentrancy check
1 parent 56a675e commit 2757464

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

browser/ui/brave_browser.cc

+3-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,9 @@ void BraveBrowser::TabStripEmpty() {
7777
return;
7878
}
7979

80-
chrome::AddTabAt(this, GetNewTabURL(), -1, true);
80+
base::SequencedTaskRunnerHandle::Get()->PostTask(
81+
FROM_HERE, base::BindOnce(&chrome::AddTabAt, this, GetNewTabURL(), -1,
82+
true, absl::nullopt));
8183
}
8284

8385
bool BraveBrowser::ShouldDisplayFavicon(

browser/ui/brave_browser_browsertest.cc

+7-1
Original file line numberDiff line numberDiff line change
@@ -59,13 +59,19 @@ IN_PROC_BROWSER_TEST_F(BraveBrowserBrowserTest, OpenNewTabWhenTabStripIsEmpty) {
5959
// Expecting a new tab is opened.
6060
EXPECT_EQ(new_browser->GetNewTabURL(),
6161
tab_strip->GetWebContentsAt(0)->GetURL().possibly_invalid_spec());
62+
// No reentrancy for Ctrl+W
63+
tab_strip->CloseSelectedTabs();
64+
base::RunLoop().RunUntilIdle();
65+
// Expecting a new tab is opened.
66+
EXPECT_EQ(new_browser->GetNewTabURL(),
67+
tab_strip->GetWebContentsAt(0)->GetURL().possibly_invalid_spec());
68+
6269
// Add a couple of more tabs.
6370
chrome::AddTabAt(new_browser, new_browser->GetNewTabURL(), -1, true);
6471
chrome::AddTabAt(new_browser, new_browser->GetNewTabURL(), -1, true);
6572
ASSERT_EQ(3, tab_strip->count());
6673
EXPECT_EQ(chrome::GetTotalBrowserCount(), 2u);
6774
// Close the browser window.
68-
LOG(ERROR) << "WINDOW";
6975
new_browser->window()->Close();
7076
base::RunLoop().RunUntilIdle();
7177
EXPECT_EQ(chrome::GetTotalBrowserCount(), 1u);

0 commit comments

Comments
 (0)