Chromium Code Reviews| Index: ui/views/mus/pointer_watcher_event_router.cc |
| diff --git a/ui/views/mus/pointer_watcher_event_router.cc b/ui/views/mus/pointer_watcher_event_router.cc |
| index 26b4c06683ee813d1c77ba5a7c0c9ffe4c064b3a..3daf94c0c3ac9f78b1fb5efd3c4f803bf31d8b7c 100644 |
| --- a/ui/views/mus/pointer_watcher_event_router.cc |
| +++ b/ui/views/mus/pointer_watcher_event_router.cc |
| @@ -27,14 +27,11 @@ PointerWatcherEventRouter::PointerWatcherEventRouter( |
| aura::WindowTreeClient* window_tree_client) |
| : window_tree_client_(window_tree_client) { |
| window_tree_client->AddObserver(this); |
| - window_tree_client_->GetCaptureClient()->AddObserver(this); |
| } |
| PointerWatcherEventRouter::~PointerWatcherEventRouter() { |
| - if (window_tree_client_) { |
| + if (window_tree_client_) |
| window_tree_client_->RemoveObserver(this); |
| - window_tree_client_->GetCaptureClient()->RemoveObserver(this); |
| - } |
| } |
| void PointerWatcherEventRouter::AddPointerWatcher(PointerWatcher* watcher, |
| @@ -132,6 +129,16 @@ void PointerWatcherEventRouter::OnPointerEventObserved( |
| } |
| } |
| +void PointerWatcherEventRouter::AttachToCaptureClient( |
| + aura::client::CaptureClient* capture_client) { |
| + capture_client->AddObserver(this); |
| +} |
| + |
| +void PointerWatcherEventRouter::DetachFromCaptureClient( |
| + aura::client::CaptureClient* capture_client) { |
| + capture_client->RemoveObserver(this); |
| +} |
| + |
| PointerWatcherEventRouter::EventTypes |
| PointerWatcherEventRouter::DetermineEventTypes() { |
| if (HasPointerWatcher(&move_watchers_)) |
| @@ -161,7 +168,6 @@ void PointerWatcherEventRouter::OnDidDestroyClient( |
| // We expect that all observers have been removed by this time. |
| DCHECK_EQ(event_types_, EventTypes::NONE); |
| DCHECK_EQ(client, window_tree_client_); |
| - window_tree_client_->GetCaptureClient()->RemoveObserver(this); |
| window_tree_client_->RemoveObserver(this); |
| window_tree_client_ = nullptr; |
|
sadrul
2017/01/30 19:37:58
It would make sense to continue to RemoveObserver
riajiang
2017/01/30 20:24:09
I thought that by the time the WindowTreeClient is
sadrul
2017/01/30 20:52:12
Oh yeah, of course. You are right.
|
| } |