Commit ee495053 authored by Matthew Mourgos's avatar Matthew Mourgos Committed by Chromium LUCI CQ

Move clipboard history controller observer to ash/public/cpp

This change is in preparation of multipaste related VK API changes,
where the ChromeVirtualKeyboardDelegate will need to be a
ClipboardHistoryControllerObserver. This will allow the VK to observe
clipboard history changes.

Bug: 1099318
Change-Id: I5535d45255b137219cf76b76f6d94c9bfb5ca9e2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2573636Reviewed-by: default avatarXiyuan Xia <xiyuan@chromium.org>
Reviewed-by: default avatarAlex Newcomer <newcomer@chromium.org>
Commit-Queue: Matthew Mourgos <mmourgos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#833831}
parent 8d17a128
......@@ -202,11 +202,13 @@ ClipboardHistoryControllerImpl::~ClipboardHistoryControllerImpl() {
clipboard_history_->RemoveObserver(this);
}
void ClipboardHistoryControllerImpl::AddObserver(Observer* observer) const {
void ClipboardHistoryControllerImpl::AddObserver(
ClipboardHistoryController::Observer* observer) const {
observers_.AddObserver(observer);
}
void ClipboardHistoryControllerImpl::RemoveObserver(Observer* observer) const {
void ClipboardHistoryControllerImpl::RemoveObserver(
ClipboardHistoryController::Observer* observer) const {
observers_.RemoveObserver(observer);
}
......
......@@ -37,14 +37,6 @@ class ASH_EXPORT ClipboardHistoryControllerImpl
: public ClipboardHistoryController,
public ClipboardHistory::Observer {
public:
class Observer : public base::CheckedObserver {
public:
// Called when the clipboard history menu is shown.
virtual void OnClipboardHistoryMenuShown() = 0;
// Called when the user pastes from the clipboard history menu.
virtual void OnClipboardHistoryPasted() = 0;
};
ClipboardHistoryControllerImpl();
ClipboardHistoryControllerImpl(const ClipboardHistoryControllerImpl&) =
delete;
......@@ -52,8 +44,10 @@ class ASH_EXPORT ClipboardHistoryControllerImpl
const ClipboardHistoryControllerImpl&) = delete;
~ClipboardHistoryControllerImpl() override;
void AddObserver(Observer* observer) const;
void RemoveObserver(Observer* observer) const;
void AddObserver(
ClipboardHistoryController::Observer* observer) const override;
void RemoveObserver(
ClipboardHistoryController::Observer* observer) const override;
// Returns if the contextual menu is currently showing.
bool IsMenuShowing() const;
......@@ -123,7 +117,7 @@ class ASH_EXPORT ClipboardHistoryControllerImpl
// Mutable to allow adding/removing from |observers_| through a const
// ClipboardHistoryControllerImpl.
mutable base::ObserverList<Observer> observers_;
mutable base::ObserverList<ClipboardHistoryController::Observer> observers_;
// The menu being shown.
std::unique_ptr<ClipboardHistoryMenuModelAdapter> context_menu_;
......
......@@ -8,6 +8,7 @@
#include "ash/ash_export.h"
#include "ash/clipboard/clipboard_history.h"
#include "ash/clipboard/clipboard_history_controller_impl.h"
#include "ash/public/cpp/clipboard_history_controller.h"
#include "ash/public/cpp/session/session_observer.h"
#include "base/memory/weak_ptr.h"
#include "base/time/clock.h"
......@@ -36,7 +37,7 @@ class ASH_EXPORT ClipboardNudgeController
: public ClipboardHistory::Observer,
public ui::ClipboardObserver,
public SessionObserver,
public ClipboardHistoryControllerImpl::Observer {
public ClipboardHistoryController::Observer {
public:
ClipboardNudgeController(
ClipboardHistory* clipboard_history,
......
......@@ -8,6 +8,7 @@
#include <memory>
#include "ash/public/cpp/ash_public_export.h"
#include "base/observer_list_types.h"
#include "ui/base/ui_base_types.h"
namespace gfx {
......@@ -26,9 +27,20 @@ class ScopedClipboardHistoryPause;
// clipboard history menu.
class ASH_PUBLIC_EXPORT ClipboardHistoryController {
public:
class Observer : public base::CheckedObserver {
public:
// Called when the clipboard history menu is shown.
virtual void OnClipboardHistoryMenuShown() {}
// Called when the user pastes from the clipboard history menu.
virtual void OnClipboardHistoryPasted() {}
};
// Returns the singleton instance.
static ClipboardHistoryController* Get();
virtual void AddObserver(Observer* observer) const = 0;
virtual void RemoveObserver(Observer* observer) const = 0;
// Returns whether the clipboard history menu is able to show.
virtual bool CanShowMenu() const = 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment