#include "chrome/browser/ui/views/toolbar/home_button.h"
#include <string_view>
#include "base/functional/bind.h"
#include "base/functional/callback_helpers.h"
#include "base/memory/raw_ptr.h"
#include "base/strings/string_util.h"
#include "base/strings/utf_string_conversions.h"
#include "chrome/app/vector_icons/vector_icons.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_element_identifiers.h"
#include "chrome/browser/ui/view_ids.h"
#include "chrome/browser/ui/views/chrome_layout_provider.h"
#include "chrome/common/pref_names.h"
#include "chrome/grit/generated_resources.h"
#include "components/prefs/pref_service.h"
#include "components/user_prefs/user_prefs.h"
#include "components/vector_icons/vector_icons.h"
#include "ui/base/dragdrop/mojom/drag_drop_types.mojom.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/metadata/metadata_header_macros.h"
#include "ui/base/metadata/metadata_impl_macros.h"
#include "ui/base/models/menu_model.h"
#include "ui/base/mojom/dialog_button.mojom.h"
#include "ui/views/accessibility/view_accessibility.h"
#include "ui/views/bubble/bubble_dialog_delegate_view.h"
#include "ui/views/controls/styled_label.h"
#include "ui/views/layout/fill_layout.h"
#include "ui/views/view_class_properties.h"
#include "ui/views/widget/widget.h"
namespace {
class HomePageUndoBubble : public views::BubbleDialogDelegateView { … };
HomePageUndoBubble::HomePageUndoBubble(views::View* anchor_view,
PrefService* prefs,
const GURL& undo_url,
bool undo_value_is_ntp)
: … { … }
void HomePageUndoBubble::Init() { … }
void HomePageUndoBubble::UndoClicked() { … }
BEGIN_METADATA(…)
}
HomePageUndoBubbleCoordinator::HomePageUndoBubbleCoordinator(
views::View* anchor_view,
PrefService* prefs)
: … { … }
HomePageUndoBubbleCoordinator::~HomePageUndoBubbleCoordinator() = default;
void HomePageUndoBubbleCoordinator::Show(const GURL& undo_url,
bool undo_value_is_ntp) { … }
HomeButton::HomeButton(PressedCallback callback, PrefService* prefs)
: … { … }
HomeButton::~HomeButton() = default;
bool HomeButton::GetDropFormats(
int* formats,
std::set<ui::ClipboardFormatType>* format_types) { … }
bool HomeButton::CanDrop(const OSExchangeData& data) { … }
int HomeButton::OnDragUpdated(const ui::DropTargetEvent& event) { … }
views::View::DropCallback HomeButton::GetDropCallback(
const ui::DropTargetEvent& event) { … }
void HomeButton::UpdateHomePage(
const ui::DropTargetEvent& event,
ui::mojom::DragOperation& output_drag_op,
std::unique_ptr<ui::LayerTreeOwner> drag_image_layer_owner) { … }
BEGIN_METADATA(…)