Index: ui/views/focus/focus_manager_factory.cc |
diff --git a/ui/views/focus/focus_manager_factory.cc b/ui/views/focus/focus_manager_factory.cc |
index a5393cfb9087a17245c5f3a6afd8322848aaa6df..99ca7c562634b03aca72706f04c2502c3aca6c11 100644 |
--- a/ui/views/focus/focus_manager_factory.cc |
+++ b/ui/views/focus/focus_manager_factory.cc |
@@ -4,6 +4,7 @@ |
#include "ui/views/focus/focus_manager_factory.h" |
+#include "base/memory/ptr_util.h" |
#include "ui/views/focus/focus_manager.h" |
#include "ui/views/focus/focus_manager_delegate.h" |
@@ -17,16 +18,17 @@ class DefaultFocusManagerFactory : public FocusManagerFactory { |
~DefaultFocusManagerFactory() override {} |
protected: |
- FocusManager* CreateFocusManager(Widget* widget, |
- bool desktop_widget) override { |
- return new FocusManager(widget, nullptr /* delegate */); |
+ std::unique_ptr<FocusManager> CreateFocusManager( |
+ Widget* widget, |
+ bool desktop_widget) override { |
+ return base::MakeUnique<FocusManager>(widget, nullptr /* delegate */); |
} |
private: |
DISALLOW_COPY_AND_ASSIGN(DefaultFocusManagerFactory); |
}; |
-FocusManagerFactory* focus_manager_factory = nullptr; |
+FocusManagerFactory* g_focus_manager_factory = nullptr; |
} // namespace |
@@ -37,19 +39,19 @@ FocusManagerFactory::~FocusManagerFactory() { |
} |
// static |
-FocusManager* FocusManagerFactory::Create(Widget* widget, |
- bool desktop_widget) { |
- if (!focus_manager_factory) |
- focus_manager_factory = new DefaultFocusManagerFactory(); |
- return focus_manager_factory->CreateFocusManager(widget, desktop_widget); |
+std::unique_ptr<FocusManager> FocusManagerFactory::Create(Widget* widget, |
+ bool desktop_widget) { |
+ if (!g_focus_manager_factory) |
+ g_focus_manager_factory = new DefaultFocusManagerFactory(); |
+ return g_focus_manager_factory->CreateFocusManager(widget, desktop_widget); |
} |
// static |
void FocusManagerFactory::Install(FocusManagerFactory* f) { |
- if (f == focus_manager_factory) |
+ if (f == g_focus_manager_factory) |
return; |
- delete focus_manager_factory; |
- focus_manager_factory = f ? f : new DefaultFocusManagerFactory(); |
+ delete g_focus_manager_factory; |
+ g_focus_manager_factory = f ? f : new DefaultFocusManagerFactory(); |
} |
} // namespace views |