#include "chrome/browser/ui/views/relaunch_notification/relaunch_recommended_bubble_view.h"
#include <tuple>
#include <utility>
#include "base/functional/bind.h"
#include "base/logging.h"
#include "base/metrics/user_metrics.h"
#include "base/metrics/user_metrics_action.h"
#include "base/time/time.h"
#include "build/build_config.h"
#include "chrome/browser/ui/browser_list.h"
#include "chrome/browser/ui/views/chrome_layout_provider.h"
#include "chrome/browser/ui/views/frame/browser_view.h"
#include "chrome/browser/ui/views/toolbar/browser_app_menu_button.h"
#include "chrome/browser/ui/views/toolbar/toolbar_view.h"
#include "chrome/grit/branded_strings.h"
#include "chrome/grit/generated_resources.h"
#include "components/vector_icons/vector_icons.h"
#include "ui/base/buildflags.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/models/image_model.h"
#include "ui/base/mojom/dialog_button.mojom.h"
#include "ui/gfx/color_palette.h"
#include "ui/gfx/geometry/point.h"
#include "ui/gfx/paint_vector_icon.h"
#include "ui/gfx/text_constants.h"
#include "ui/views/animation/ink_drop.h"
#include "ui/views/border.h"
#include "ui/views/bubble/bubble_border.h"
#include "ui/views/bubble/bubble_dialog_delegate_view.h"
#include "ui/views/bubble/bubble_frame_view.h"
#include "ui/views/controls/button/button.h"
#include "ui/views/controls/label.h"
#include "ui/views/layout/fill_layout.h"
#include "ui/views/style/typography.h"
#include "ui/views/widget/widget.h"
#if BUILDFLAG(IS_MAC)
#include "chrome/browser/platform_util.h"
#endif
views::Widget* RelaunchRecommendedBubbleView::ShowBubble(
Browser* browser,
base::Time detection_time,
base::RepeatingClosure on_accept) { … }
RelaunchRecommendedBubbleView::~RelaunchRecommendedBubbleView() = default;
bool RelaunchRecommendedBubbleView::Accept() { … }
std::u16string RelaunchRecommendedBubbleView::GetWindowTitle() const { … }
bool RelaunchRecommendedBubbleView::ShouldShowCloseButton() const { … }
ui::ImageModel RelaunchRecommendedBubbleView::GetWindowIcon() { … }
void RelaunchRecommendedBubbleView::Init() { … }
void RelaunchRecommendedBubbleView::VisibilityChanged(
views::View* starting_from,
bool is_visible) { … }
RelaunchRecommendedBubbleView::RelaunchRecommendedBubbleView(
views::Button* anchor_button,
base::Time detection_time,
base::RepeatingClosure on_accept)
: … { … }
void RelaunchRecommendedBubbleView::UpdateWindowTitle() { … }