#include "chrome/browser/ui/startup/default_browser_prompt/default_browser_prompt_manager.h"
#include <memory>
#include "base/containers/contains.h"
#include "base/functional/bind.h"
#include "base/functional/callback_helpers.h"
#include "base/metrics/histogram_functions.h"
#include "base/time/time.h"
#include "base/timer/timer.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_list.h"
#include "chrome/browser/ui/startup/default_browser_prompt/default_browser_infobar_delegate.h"
#include "chrome/browser/ui/startup/default_browser_prompt/default_browser_prompt_prefs.h"
#include "chrome/browser/ui/ui_features.h"
#include "chrome/common/pref_names.h"
#include "components/infobars/core/confirm_infobar_delegate.h"
#include "components/infobars/core/infobar.h"
#include "components/prefs/pref_service.h"
#include "content/public/browser/web_contents.h"
namespace {
bool ShouldShowPrompts() { … }
}
DefaultBrowserPromptManager *DefaultBrowserPromptManager::GetInstance() { … }
void DefaultBrowserPromptManager::AddObserver(Observer *observer) { … }
void DefaultBrowserPromptManager::RemoveObserver(Observer *observer) { … }
void DefaultBrowserPromptManager::MaybeShowPrompt() { … }
void DefaultBrowserPromptManager::CloseAllPrompts(CloseReason close_reason) { … }
DefaultBrowserPromptManager::DefaultBrowserPromptManager() = default;
DefaultBrowserPromptManager::~DefaultBrowserPromptManager() = default;
void DefaultBrowserPromptManager::CreateInfoBarForWebContents(
content::WebContents *web_contents, Profile *profile) { … }
void DefaultBrowserPromptManager::CloseAllInfoBars() { … }
void DefaultBrowserPromptManager::SetShowAppMenuPromptVisibility(bool show) { … }
void DefaultBrowserPromptManager::SetAppMenuItemVisibility(bool show) { … }
bool DefaultBrowserPromptManager::ShouldTrackBrowser(Browser *browser) { … }
void DefaultBrowserPromptManager::OnTabStripModelChanged(
TabStripModel *tab_strip_model, const TabStripModelChange &change,
const TabStripSelectionChange &selection) { … }
void DefaultBrowserPromptManager::OnInfoBarRemoved(infobars::InfoBar *infobar,
bool animate) { … }
void DefaultBrowserPromptManager::OnAccept() { … }
void DefaultBrowserPromptManager::OnDismiss() { … }