| 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:
|
|
|