#include "ui/views/controls/views_text_services_context_menu_base.h"
#include <memory>
#include "base/metrics/histogram_macros.h"
#include "build/build_config.h"
#include "ui/base/accelerators/accelerator.h"
#include "ui/base/emoji/emoji_panel_helper.h"
#include "ui/base/models/simple_menu_model.h"
#include "ui/events/event.h"
#include "ui/events/event_constants.h"
#include "ui/resources/grit/ui_resources.h"
#include "ui/strings/grit/ui_strings.h"
#include "ui/views/controls/textfield/textfield.h"
#include "ui/views/widget/widget.h"
#if BUILDFLAG(IS_CHROMEOS)
#include "chromeos/constants/chromeos_features.h"
#endif
namespace views {
namespace {
const char kViewsTextServicesContextMenuEmoji[] = …;
}
ViewsTextServicesContextMenuBase::ViewsTextServicesContextMenuBase(
ui::SimpleMenuModel* menu,
Textfield* client)
: … { … }
ViewsTextServicesContextMenuBase::~ViewsTextServicesContextMenuBase() = default;
bool ViewsTextServicesContextMenuBase::GetAcceleratorForCommandId(
int command_id,
ui::Accelerator* accelerator) const { … }
bool ViewsTextServicesContextMenuBase::IsCommandIdChecked(
int command_id) const { … }
bool ViewsTextServicesContextMenuBase::IsCommandIdEnabled(
int command_id) const { … }
void ViewsTextServicesContextMenuBase::ExecuteCommand(int command_id,
int event_flags) { … }
bool ViewsTextServicesContextMenuBase::SupportsCommand(int command_id) const { … }
#if BUILDFLAG(IS_CHROMEOS)
int ViewsTextServicesContextMenuBase::GetClipboardHistoryStringId() const {
return chromeos::features::IsClipboardHistoryRefreshEnabled()
? IDS_APP_PASTE_FROM_CLIPBOARD
: IDS_APP_SHOW_CLIPBOARD_HISTORY;
}
#endif
#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_CHROMEOS)
std::unique_ptr<ViewsTextServicesContextMenu>
ViewsTextServicesContextMenu::Create(ui::SimpleMenuModel* menu,
Textfield* client) { … }
#endif
}