Commit d3007c33 authored by Sylvain Defresne's avatar Sylvain Defresne Committed by Commit Bot

Convert from base::{LazyInstance,Singleton} to base::NoDestructor

The class base::NoDestructor is a simpler way to define a static
global value (aka a singleton) than base::{LazyInstance,Singleton}
and is the recommended pattern to use.

The changes were automated using a custom one-shot script, then
fine tuned by hand (to remove unnecessary classes, ...).

This fixes usages in src/ios/chrome/browser/web_state_list.

This CL was uploaded by git cl split.

Bug: none
Change-Id: I5f3110c566d3d0dfa11ffe801a7622d4d96400a2
Reviewed-on: https://chromium-review.googlesource.com/c/1411695Reviewed-by: default avatarDavid Roger <droger@chromium.org>
Commit-Queue: Sylvain Defresne <sdefresne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#622977}
parent 14ac3965
...@@ -6,13 +6,9 @@ ...@@ -6,13 +6,9 @@
#define IOS_CHROME_BROWSER_WEB_STATE_LIST_WEB_USAGE_ENABLER_WEB_STATE_LIST_WEB_USAGE_ENABLER_FACTORY_H_ #define IOS_CHROME_BROWSER_WEB_STATE_LIST_WEB_USAGE_ENABLER_WEB_STATE_LIST_WEB_USAGE_ENABLER_FACTORY_H_
#include "base/macros.h" #include "base/macros.h"
#include "base/no_destructor.h"
#include "components/keyed_service/ios/browser_state_keyed_service_factory.h" #include "components/keyed_service/ios/browser_state_keyed_service_factory.h"
namespace base {
template <typename T>
struct DefaultSingletonTraits;
}
namespace ios { namespace ios {
class ChromeBrowserState; class ChromeBrowserState;
} }
...@@ -32,8 +28,7 @@ class WebStateListWebUsageEnablerFactory ...@@ -32,8 +28,7 @@ class WebStateListWebUsageEnablerFactory
static WebStateListWebUsageEnablerFactory* GetInstance(); static WebStateListWebUsageEnablerFactory* GetInstance();
private: private:
friend struct base::DefaultSingletonTraits< friend class base::NoDestructor<WebStateListWebUsageEnablerFactory>;
WebStateListWebUsageEnablerFactory>;
WebStateListWebUsageEnablerFactory(); WebStateListWebUsageEnablerFactory();
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
#include <memory> #include <memory>
#include "base/memory/singleton.h" #include "base/no_destructor.h"
#include "components/keyed_service/ios/browser_state_dependency_manager.h" #include "components/keyed_service/ios/browser_state_dependency_manager.h"
#include "ios/chrome/browser/browser_state/browser_state_otr_helper.h" #include "ios/chrome/browser/browser_state/browser_state_otr_helper.h"
#include "ios/chrome/browser/browser_state/chrome_browser_state.h" #include "ios/chrome/browser/browser_state/chrome_browser_state.h"
...@@ -27,7 +27,8 @@ WebStateListWebUsageEnablerFactory::GetForBrowserState( ...@@ -27,7 +27,8 @@ WebStateListWebUsageEnablerFactory::GetForBrowserState(
// static // static
WebStateListWebUsageEnablerFactory* WebStateListWebUsageEnablerFactory*
WebStateListWebUsageEnablerFactory::GetInstance() { WebStateListWebUsageEnablerFactory::GetInstance() {
return base::Singleton<WebStateListWebUsageEnablerFactory>::get(); static base::NoDestructor<WebStateListWebUsageEnablerFactory> instance;
return instance.get();
} }
WebStateListWebUsageEnablerFactory::WebStateListWebUsageEnablerFactory() WebStateListWebUsageEnablerFactory::WebStateListWebUsageEnablerFactory()
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment