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

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

Issue 2953243002: FocusManagerFactory::Create() should return a unique_ptr. (Closed)
Patch Set: build Created 3 years, 6 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
« no previous file with comments | « no previous file | ash/accelerators/ash_focus_manager_factory.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_ASH_FOCUS_MANAGER_FACTORY_H_ 5 #ifndef ASH_ACCELERATORS_ASH_FOCUS_MANAGER_FACTORY_H_
6 #define ASH_ACCELERATORS_ASH_FOCUS_MANAGER_FACTORY_H_ 6 #define ASH_ACCELERATORS_ASH_FOCUS_MANAGER_FACTORY_H_
7 7
8 #include "base/macros.h" 8 #include "base/macros.h"
9 #include "ui/views/focus/focus_manager_delegate.h" 9 #include "ui/views/focus/focus_manager_delegate.h"
10 #include "ui/views/focus/focus_manager_factory.h" 10 #include "ui/views/focus/focus_manager_factory.h"
11 11
12 namespace ash { 12 namespace ash {
13 13
14 // A factory class for creating a custom views::FocusManager object which 14 // A factory class for creating a custom views::FocusManager object which
15 // supports Ash shortcuts. 15 // supports Ash shortcuts.
16 class AshFocusManagerFactory : public views::FocusManagerFactory { 16 class AshFocusManagerFactory : public views::FocusManagerFactory {
17 public: 17 public:
18 AshFocusManagerFactory(); 18 AshFocusManagerFactory();
19 ~AshFocusManagerFactory() override; 19 ~AshFocusManagerFactory() override;
20 20
21 protected: 21 protected:
22 // views::FocusManagerFactory overrides: 22 // views::FocusManagerFactory overrides:
23 views::FocusManager* CreateFocusManager(views::Widget* widget, 23 std::unique_ptr<views::FocusManager> CreateFocusManager(
24 bool desktop_widget) override; 24 views::Widget* widget,
25 bool desktop_widget) override;
25 26
26 private: 27 private:
27 class Delegate : public views::FocusManagerDelegate { 28 class Delegate : public views::FocusManagerDelegate {
28 public: 29 public:
30 Delegate();
31 ~Delegate() override;
32
29 // views::FocusManagerDelegate overrides: 33 // views::FocusManagerDelegate overrides:
30 bool ProcessAccelerator(const ui::Accelerator& accelerator) override; 34 bool ProcessAccelerator(const ui::Accelerator& accelerator) override;
31 }; 35 };
32 36
33 DISALLOW_COPY_AND_ASSIGN(AshFocusManagerFactory); 37 DISALLOW_COPY_AND_ASSIGN(AshFocusManagerFactory);
34 }; 38 };
35 39
36 } // namespace ash 40 } // namespace ash
37 41
38 #endif // ASH_ACCELERATORS_ASH_FOCUS_MANAGER_FACTORY_H_ 42 #endif // ASH_ACCELERATORS_ASH_FOCUS_MANAGER_FACTORY_H_
OLDNEW
« no previous file with comments | « no previous file | ash/accelerators/ash_focus_manager_factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698