#include "chrome/browser/ui/views/bookmarks/bookmark_menu_controller_views.h"
#include "base/memory/ptr_util.h"
#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/ui/bookmarks/bookmark_stats.h"
#include "chrome/browser/ui/views/bookmarks/bookmark_bar_view.h"
#include "chrome/browser/ui/views/bookmarks/bookmark_menu_controller_observer.h"
#include "chrome/browser/ui/views/bookmarks/bookmark_menu_delegate.h"
#include "components/bookmarks/browser/bookmark_model.h"
#include "components/prefs/pref_service.h"
#include "content/public/browser/page_navigator.h"
#include "ui/base/dragdrop/mojom/drag_drop_types.mojom.h"
#include "ui/base/dragdrop/os_exchange_data.h"
#include "ui/views/controls/button/menu_button.h"
#include "ui/views/controls/menu/menu_item_view.h"
#include "ui/views/controls/menu/menu_runner.h"
#include "ui/views/widget/widget.h"
BookmarkNode;
PageNavigator;
MenuItemView;
BookmarkMenuController::BookmarkMenuController(Browser* browser,
views::Widget* parent,
const BookmarkNode* node,
size_t start_child_index,
bool for_drop)
: … { … }
void BookmarkMenuController::RunMenuAt(BookmarkBarView* bookmark_bar) { … }
void BookmarkMenuController::Cancel() { … }
MenuItemView* BookmarkMenuController::menu() const { … }
MenuItemView* BookmarkMenuController::context_menu() const { … }
std::u16string BookmarkMenuController::GetTooltipText(
int id,
const gfx::Point& p) const { … }
bool BookmarkMenuController::IsTriggerableEvent(views::MenuItemView* menu,
const ui::Event& e) { … }
void BookmarkMenuController::ExecuteCommand(int id, int mouse_event_flags) { … }
bool BookmarkMenuController::ShouldExecuteCommandWithoutClosingMenu(
int id, const ui::Event& e) { … }
bool BookmarkMenuController::GetDropFormats(
MenuItemView* menu,
int* formats,
std::set<ui::ClipboardFormatType>* format_types) { … }
bool BookmarkMenuController::AreDropTypesRequired(MenuItemView* menu) { … }
bool BookmarkMenuController::CanDrop(MenuItemView* menu,
const ui::OSExchangeData& data) { … }
ui::mojom::DragOperation BookmarkMenuController::GetDropOperation(
MenuItemView* item,
const ui::DropTargetEvent& event,
DropPosition* position) { … }
views::View::DropCallback BookmarkMenuController::GetDropCallback(
views::MenuItemView* menu,
DropPosition position,
const ui::DropTargetEvent& event) { … }
bool BookmarkMenuController::ShowContextMenu(MenuItemView* source,
int id,
const gfx::Point& p,
ui::MenuSourceType source_type) { … }
bool BookmarkMenuController::CanDrag(MenuItemView* menu) { … }
void BookmarkMenuController::WriteDragData(MenuItemView* sender,
ui::OSExchangeData* data) { … }
int BookmarkMenuController::GetDragOperations(MenuItemView* sender) { … }
void BookmarkMenuController::OnMenuClosed(views::MenuItemView* menu) { … }
views::MenuItemView* BookmarkMenuController::GetSiblingMenu(
views::MenuItemView* menu,
const gfx::Point& screen_point,
views::MenuAnchorPosition* anchor,
bool* has_mnemonics,
views::MenuButton** button) { … }
int BookmarkMenuController::GetMaxWidthForMenu(MenuItemView* view) { … }
void BookmarkMenuController::WillShowMenu(MenuItemView* menu) { … }
void BookmarkMenuController::BookmarkModelChanged() { … }
bool BookmarkMenuController::ShouldTryPositioningBesideAnchor() const { … }
BookmarkMenuController::~BookmarkMenuController() { … }