summaryrefslogtreecommitdiff
path: root/chromium/chrome/browser/signin/about_signin_internals_factory.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/chrome/browser/signin/about_signin_internals_factory.h')
-rw-r--r--chromium/chrome/browser/signin/about_signin_internals_factory.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/chromium/chrome/browser/signin/about_signin_internals_factory.h b/chromium/chrome/browser/signin/about_signin_internals_factory.h
new file mode 100644
index 00000000000..c1b7cb5a71d
--- /dev/null
+++ b/chromium/chrome/browser/signin/about_signin_internals_factory.h
@@ -0,0 +1,40 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_SIGNIN_ABOUT_SIGNIN_INTERNALS_FACTORY_H_
+#define CHROME_BROWSER_SIGNIN_ABOUT_SIGNIN_INTERNALS_FACTORY_H_
+
+#include "base/memory/singleton.h"
+#include "components/keyed_service/content/browser_context_keyed_service_factory.h"
+
+class AboutSigninInternals;
+class Profile;
+
+// Singleton that owns all AboutSigninInternals and associates them with
+// Profiles.
+class AboutSigninInternalsFactory : public BrowserContextKeyedServiceFactory {
+ public:
+ // Returns the instance of AboutSigninInternals associated with this profile,
+ // creating one if none exists.
+ static AboutSigninInternals* GetForProfile(Profile* profile);
+
+ // Returns an instance of the AboutSigninInternalsFactory singleton.
+ static AboutSigninInternalsFactory* GetInstance();
+
+ // Implementation of BrowserContextKeyedServiceFactory.
+ void RegisterProfilePrefs(
+ user_prefs::PrefRegistrySyncable* registry) override;
+
+ private:
+ friend struct base::DefaultSingletonTraits<AboutSigninInternalsFactory>;
+
+ AboutSigninInternalsFactory();
+ ~AboutSigninInternalsFactory() override;
+
+ // BrowserContextKeyedServiceFactory
+ KeyedService* BuildServiceInstanceFor(
+ content::BrowserContext* context) const override;
+};
+
+#endif // CHROME_BROWSER_SIGNIN_ABOUT_SIGNIN_INTERNALS_FACTORY_H_