Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(360)

Side by Side Diff: ash/accelerators/focus_manager_factory.h

Issue 838253004: MacViews: Fix duplicate definition of ExtensionKeyBindingRegistry::SetShortcutHandlingSuspended (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@DragBookmarks2
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef ASH_ACCELERATORS_FOCUS_MANAGER_FACTORY_H_ 5 #ifndef ASH_ACCELERATORS_FOCUS_MANAGER_FACTORY_H_
6 #define ASH_ACCELERATORS_FOCUS_MANAGER_FACTORY_H_ 6 #define ASH_ACCELERATORS_FOCUS_MANAGER_FACTORY_H_
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "ui/views/focus/focus_manager_delegate.h" 10 #include "ui/base/accelerators/accelerator.h"
11 #include "ui/base/accelerators/accelerator_processor.h"
11 #include "ui/views/focus/focus_manager_factory.h" 12 #include "ui/views/focus/focus_manager_factory.h"
12 13
13 namespace ash { 14 namespace ash {
14 15
15 // A factory class for creating a custom views::FocusManager object which 16 // A factory class for creating a custom views::FocusManager object which
16 // supports Ash shortcuts. 17 // supports Ash shortcuts.
17 class AshFocusManagerFactory : public views::FocusManagerFactory { 18 class AshFocusManagerFactory : public views::FocusManagerFactory {
18 public: 19 public:
19 AshFocusManagerFactory(); 20 AshFocusManagerFactory();
20 ~AshFocusManagerFactory() override; 21 ~AshFocusManagerFactory() override;
21 22
22 protected: 23 protected:
23 // views::FocusManagerFactory overrides: 24 // views::FocusManagerFactory overrides:
24 views::FocusManager* CreateFocusManager(views::Widget* widget, 25 views::FocusManager* CreateFocusManager(views::Widget* widget,
25 bool desktop_widget) override; 26 bool desktop_widget) override;
26 27
27 private: 28 private:
28 class Delegate : public views::FocusManagerDelegate { 29 class AcceleratorProcessor : public ui::AcceleratorProcessor {
29 public: 30 public:
30 // views::FocusManagerDelegate overrides: 31 AcceleratorProcessor(views::FocusManager* focus_manager);
32 ~AcceleratorProcessor() override;
33
34 // ui::AcceleratorProcessor overrides:
31 bool ProcessAccelerator(const ui::Accelerator& accelerator) override; 35 bool ProcessAccelerator(const ui::Accelerator& accelerator) override;
32 ui::AcceleratorTarget* GetCurrentTargetForAccelerator( 36 ui::AcceleratorTarget* GetTargetForAccelerator(
33 const ui::Accelerator& accelerator) const override; 37 const ui::Accelerator& accelerator) const override;
38
39 private:
40 views::FocusManager* focus_manager_; // Weak.
41
42 DISALLOW_COPY_AND_ASSIGN(AcceleratorProcessor);
34 }; 43 };
35 44
45 scoped_ptr<AcceleratorProcessor> accelerator_processor_;
46
36 DISALLOW_COPY_AND_ASSIGN(AshFocusManagerFactory); 47 DISALLOW_COPY_AND_ASSIGN(AshFocusManagerFactory);
37 }; 48 };
38 49
39 } // namespace ash 50 } // namespace ash
40 51
41 #endif // ASH_ACCELERATORS_FOCUS_MANAGER_FACTORY_H_ 52 #endif // ASH_ACCELERATORS_FOCUS_MANAGER_FACTORY_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698