ash_focus_manager_factory.h 969 B

1234567891011121314151617181920212223242526272829
  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
  3. // found in the LICENSE file.
  4. #ifndef ASH_ACCELERATORS_ASH_FOCUS_MANAGER_FACTORY_H_
  5. #define ASH_ACCELERATORS_ASH_FOCUS_MANAGER_FACTORY_H_
  6. #include "ui/views/focus/focus_manager_factory.h"
  7. namespace ash {
  8. // A factory class for creating a custom views::FocusManager object which
  9. // supports Ash shortcuts.
  10. class AshFocusManagerFactory : public views::FocusManagerFactory {
  11. public:
  12. AshFocusManagerFactory();
  13. AshFocusManagerFactory(const AshFocusManagerFactory&) = delete;
  14. AshFocusManagerFactory& operator=(const AshFocusManagerFactory&) = delete;
  15. ~AshFocusManagerFactory() override;
  16. protected:
  17. // views::FocusManagerFactory overrides:
  18. std::unique_ptr<views::FocusManager> CreateFocusManager(
  19. views::Widget* widget) override;
  20. };
  21. } // namespace ash
  22. #endif // ASH_ACCELERATORS_ASH_FOCUS_MANAGER_FACTORY_H_