Index: athena/input/accelerator_manager_impl.cc |
diff --git a/athena/input/accelerator_manager_impl.cc b/athena/input/accelerator_manager_impl.cc |
index c1e037a40df29890775f362b7ffbf77d38b9881d..70d8dfc49bc9163847bbd7e199b6ec92d644ebbe 100644 |
--- a/athena/input/accelerator_manager_impl.cc |
+++ b/athena/input/accelerator_manager_impl.cc |
@@ -12,7 +12,6 @@ |
#include "ui/events/event.h" |
#include "ui/events/event_target.h" |
#include "ui/views/focus/focus_manager.h" |
-#include "ui/views/focus/focus_manager_delegate.h" |
#include "ui/views/focus/focus_manager_factory.h" |
#include "ui/wm/core/accelerator_delegate.h" |
#include "ui/wm/core/accelerator_filter.h" |
@@ -88,17 +87,17 @@ class AcceleratorDelegate : public wm::AcceleratorDelegate { |
DISALLOW_COPY_AND_ASSIGN(AcceleratorDelegate); |
}; |
-class FocusManagerDelegate : public views::FocusManagerDelegate { |
+class AcceleratorProcessor : public ui::AcceleratorProcessor { |
public: |
- explicit FocusManagerDelegate(AcceleratorManagerImpl* accelerator_manager) |
+ explicit AcceleratorProcessor(AcceleratorManagerImpl* accelerator_manager) |
: accelerator_manager_(accelerator_manager) {} |
- ~FocusManagerDelegate() override {} |
+ ~AcceleratorProcessor() override {} |
bool ProcessAccelerator(const ui::Accelerator& accelerator) override { |
return accelerator_manager_->Process(accelerator); |
} |
- ui::AcceleratorTarget* GetCurrentTargetForAccelerator( |
+ ui::AcceleratorTarget* GetTargetForAccelerator( |
const ui::Accelerator& accelerator) const override { |
return accelerator_manager_->IsRegistered(accelerator, AF_NONE) |
? accelerator_manager_ |
@@ -108,7 +107,7 @@ class FocusManagerDelegate : public views::FocusManagerDelegate { |
private: |
AcceleratorManagerImpl* accelerator_manager_; |
- DISALLOW_COPY_AND_ASSIGN(FocusManagerDelegate); |
+ DISALLOW_COPY_AND_ASSIGN(AcceleratorProcessor); |
}; |
// Key strokes must be sent to web contents to give them a chance to |
@@ -123,10 +122,12 @@ class FocusManagerFactory : public views::FocusManagerFactory { |
views::FocusManager* CreateFocusManager(views::Widget* widget, |
bool desktop_widget) override { |
- return new views::FocusManager( |
- widget, |
- desktop_widget ? nullptr |
- : new FocusManagerDelegate(accelerator_manager_)); |
+ views::FocusManager* focus_manager = new views::FocusManager(widget); |
+ if (!desktop_widget) { |
+ focus_manager->AddAcceleratorPostProcessor( |
+ new AcceleratorProcessor(accelerator_manager_)); |
+ } |
+ return focus_manager; |
} |
private: |
@@ -154,12 +155,12 @@ class UIAcceleratorManagerWrapper |
} |
virtual bool Process(const ui::Accelerator& accelerator) override { |
- return ui_accelerator_manager_->Process(accelerator); |
+ return ui_accelerator_manager_->ProcessAccelerator(accelerator); |
} |
virtual ui::AcceleratorTarget* GetCurrentTarget( |
const ui::Accelerator& accelerator) const override { |
- return ui_accelerator_manager_->GetCurrentTarget(accelerator); |
+ return ui_accelerator_manager_->GetTargetForAccelerator(accelerator); |
} |
private: |
@@ -192,7 +193,7 @@ class FocusManagerWrapper : public AcceleratorManagerImpl::AcceleratorWrapper { |
virtual ui::AcceleratorTarget* GetCurrentTarget( |
const ui::Accelerator& accelerator) const override { |
- return focus_manager_->GetCurrentTargetForAccelerator(accelerator); |
+ return focus_manager_->GetTargetForAccelerator(accelerator); |
} |
private: |