blob: 55f255474f7263b4d799a9125fe7cff623ec96ac [file] [log] [blame]
// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/ui/test/test_browser_closed_waiter.h"
#include "chrome/browser/ui/browser_list.h"
TestBrowserClosedWaiter::TestBrowserClosedWaiter(Browser* browser)
: browser_(browser) {
BrowserList::AddObserver(this);
}
TestBrowserClosedWaiter::~TestBrowserClosedWaiter() {
BrowserList::RemoveObserver(this);
}
bool TestBrowserClosedWaiter::WaitUntilClosed() {
return future_.Wait();
}
void TestBrowserClosedWaiter::OnBrowserRemoved(Browser* browser) {
if (browser_ == browser) {
browser_ = nullptr; // Make raw_ptr happy.
future_.SetValue();
}
}