Index: chrome/browser/ui/ash/app_list/app_list_presenter_delegate_mus.h |
diff --git a/chrome/browser/ui/ash/app_list/app_list_presenter_delegate_mus.h b/chrome/browser/ui/ash/app_list/app_list_presenter_delegate_mus.h |
index c7978db19222f0257f12e0378065b356821a3108..0c77b178fbb1f5252772e887880a87c84b75e135 100644 |
--- a/chrome/browser/ui/ash/app_list/app_list_presenter_delegate_mus.h |
+++ b/chrome/browser/ui/ash/app_list/app_list_presenter_delegate_mus.h |
@@ -6,11 +6,16 @@ |
#define CHROME_BROWSER_UI_ASH_APP_LIST_APP_LIST_PRESENTER_DELEGATE_MUS_H_ |
#include "ui/app_list/presenter/app_list_presenter_delegate.h" |
- |
+#include "ui/app_list/presenter/app_list_presenter.h" |
#include "base/macros.h" |
+#include "ui/views/pointer_watcher.h" |
+#include "ash/common/wm_shell.h" |
+#include "ui/views/mus/pointer_watcher_event_router.h" |
+ |
namespace app_list { |
class AppListView; |
+class AppListPresenter; |
class AppListViewDelegateFactory; |
} |
@@ -18,10 +23,13 @@ class AppListViewDelegateFactory; |
// Responsible for laying out the app list UI as well as dismissing the app list |
// on in response to certain events (e.g. on mouse/touch gesture outside of the |
// app list bounds). |
-class AppListPresenterDelegateMus : public app_list::AppListPresenterDelegate { |
+class AppListPresenterDelegateMus : public app_list::AppListPresenterDelegate, |
+ public views::PointerWatcher { |
public: |
explicit AppListPresenterDelegateMus( |
+ app_list::AppListPresenter* presenter, |
app_list::AppListViewDelegateFactory* view_delegate_factory); |
+ |
~AppListPresenterDelegateMus() override; |
// app_list::AppListPresenterDelegate: |
@@ -32,9 +40,14 @@ class AppListPresenterDelegateMus : public app_list::AppListPresenterDelegate { |
void OnShown(int64_t display_id) override; |
void OnDismissed() override; |
void UpdateBounds() override; |
+ |
gfx::Vector2d GetVisibilityAnimationOffset( |
aura::Window* root_window) override; |
+ void OnPointerEventObserved(const ui::PointerEvent& event, |
+ const gfx::Point& location_in_screen, |
+ views::Widget* target) override; |
+ |
private: |
// Whether the app list is visible (or in the process of being shown). |
bool is_visible_ = false; |
@@ -44,6 +57,7 @@ class AppListPresenterDelegateMus : public app_list::AppListPresenterDelegate { |
// The current AppListView, owned by its widget. |
app_list::AppListView* view_ = nullptr; |
+ app_list::AppListPresenter* presenter_; |
DISALLOW_COPY_AND_ASSIGN(AppListPresenterDelegateMus); |
}; |