#include "chrome/browser/ui/toasts/toast_controller.h"
#include <optional>
#include <utility>
#include "base/check.h"
#include "base/check_is_test.h"
#include "base/check_op.h"
#include "base/feature_list.h"
#include "base/functional/bind.h"
#include "base/location.h"
#include "chrome/browser/ui/browser_window/public/browser_window_interface.h"
#include "chrome/browser/ui/toasts/api/toast_id.h"
#include "chrome/browser/ui/toasts/api/toast_registry.h"
#include "chrome/browser/ui/toasts/api/toast_specification.h"
#include "chrome/browser/ui/toasts/toast_features.h"
#include "chrome/browser/ui/toasts/toast_view.h"
#include "ui/base/l10n/l10n_util.h"
ToastParams::ToastParams(ToastId id) : … { … }
ToastParams::ToastParams(ToastParams&& other) noexcept = default;
ToastParams& ToastParams::operator=(ToastParams&& other) noexcept = default;
ToastParams::~ToastParams() = default;
ToastController::ToastController(
BrowserWindowInterface* browser_window_interface,
const ToastRegistry* toast_registry)
: … { … }
ToastController::~ToastController() = default;
bool ToastController::IsShowingToast() const { … }
bool ToastController::CanShowToast(ToastId id) const { … }
bool ToastController::MaybeShowToast(ToastParams params) { … }
void ToastController::ClosePersistentToast(ToastId id) { … }
void ToastController::OnWidgetDestroying(views::Widget* widget) { … }
void ToastController::CloseToast() { … }
void ToastController::CreateToast(const ToastSpecification* spec) { … }