| Index: ui/wm/core/accelerator_filter.cc
|
| diff --git a/ui/wm/core/accelerator_filter.cc b/ui/wm/core/accelerator_filter.cc
|
| index 51c6106d91e3b6a0745bb8ba11445874505406ab..12e91316d21ce81ce0c8906c851bf13f24cedf83 100644
|
| --- a/ui/wm/core/accelerator_filter.cc
|
| +++ b/ui/wm/core/accelerator_filter.cc
|
| @@ -5,6 +5,7 @@
|
| #include "ui/wm/core/accelerator_filter.h"
|
|
|
| #include "ui/base/accelerators/accelerator.h"
|
| +#include "ui/base/accelerators/accelerator_history.h"
|
| #include "ui/events/event.h"
|
| #include "ui/wm/core/accelerator_delegate.h"
|
|
|
| @@ -37,8 +38,12 @@ bool IsSystemKey(ui::KeyboardCode key_code) {
|
| ////////////////////////////////////////////////////////////////////////////////
|
| // AcceleratorFilter, public:
|
|
|
| -AcceleratorFilter::AcceleratorFilter(scoped_ptr<AcceleratorDelegate> delegate)
|
| - : delegate_(delegate.Pass()) {
|
| +AcceleratorFilter::AcceleratorFilter(
|
| + scoped_ptr<AcceleratorDelegate> delegate,
|
| + ui::AcceleratorHistory* accelerator_history)
|
| + : delegate_(delegate.Pass()),
|
| + accelerator_history_(accelerator_history) {
|
| + DCHECK(accelerator_history);
|
| }
|
|
|
| AcceleratorFilter::~AcceleratorFilter() {
|
| @@ -56,6 +61,7 @@ void AcceleratorFilter::OnKeyEvent(ui::KeyEvent* event) {
|
| }
|
|
|
| ui::Accelerator accelerator = CreateAcceleratorFromKeyEvent(*event);
|
| + accelerator_history_->StoreCurrentAccelerator(accelerator);
|
|
|
| AcceleratorDelegate::KeyType key_type =
|
| IsSystemKey(event->key_code()) ? AcceleratorDelegate::KEY_TYPE_SYSTEM
|
|
|