#include "chrome/browser/ui/dialogs/outdated_upgrade_bubble.h"
#include "base/functional/bind.h"
#include "base/metrics/user_metrics.h"
#include "base/strings/strcat.h"
#include "base/task/thread_pool.h"
#include "base/version_info/channel.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_dialogs.h"
#include "chrome/browser/ui/browser_element_identifiers.h"
#include "chrome/browser/upgrade_detector/upgrade_detector.h"
#include "chrome/common/channel_info.h"
#include "chrome/common/pref_names.h"
#include "chrome/common/webui_url_constants.h"
#include "chrome/grit/branded_strings.h"
#include "chrome/grit/generated_resources.h"
#include "components/prefs/pref_service.h"
#include "content/public/browser/page_navigator.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/models/dialog_model.h"
#include "url/gurl.h"
#if BUILDFLAG(IS_WIN)
#include "chrome/installer/util/google_update_util.h"
#endif
namespace {
const char* kUpdateBrowserRedirectUrl = …
chrome::kChromeUIActivateSafetyCheckSettingsURL;
#else
"https://www.google.com/chrome";
#endif
bool g_upgrade_bubble_is_showing = …;
void OnWindowClosing() { … }
void OnDialogAccepted(content::PageNavigator* navigator,
bool auto_update_enabled,
const std::string& update_browser_redirect_url) { … }
#if !BUILDFLAG(IS_CHROMEOS_LACROS)
const char* GetUpdateUrlChannelSuffix(version_info::Channel channel) { … }
#endif
}
void ShowOutdatedUpgradeBubble(Browser* browser, bool auto_update_enabled) { … }