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

Side by Side Diff: chrome/browser/password_manager/password_store_factory.h

Issue 9665007: Profile refactoring: Remove all PasswordStore code from the Profile interface. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add to factory list Created 8 years, 9 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 | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2011 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
5 #ifndef CHROME_BROWSER_PASSWORD_MANAGER_PASSWORD_STORE_FACTORY_H_
6 #define CHROME_BROWSER_PASSWORD_MANAGER_PASSWORD_STORE_FACTORY_H_
7
8 #include "base/basictypes.h"
9 #include "base/memory/singleton.h"
10 #include "chrome/browser/profiles/profile.h"
11 #include "chrome/browser/profiles/refcounted_profile_keyed_service_factory.h"
12
13 class PasswordStore;
14 class Extension;
15 class Profile;
16
17 #if !defined(OS_MACOSX) && !defined(OS_CHROMEOS) && defined(OS_POSIX)
18 // Local profile ids are used to associate resources stored outside the profile
19 // directory, like saved passwords in GNOME Keyring / KWallet, with a profile.
20 // With high probability, they are unique on the local machine. They are almost
21 // certainly not unique globally, by design. Do not send them over the network.
22 typedef int LocalProfileId;
23 #endif
24
25 // Singleton that owns all PasswordStores and associates them with
26 // Profiles. Listens for the Profile's destruction notification and cleans up
27 // the associated PasswordStore.
28 class PasswordStoreFactory : public RefcountedProfileKeyedServiceFactory {
29 public:
30 static PasswordStore* GetForProfile(Profile* profile,
31 Profile::ServiceAccessType set);
32
33 static PasswordStoreFactory* GetInstance();
34
35 private:
36 friend struct DefaultSingletonTraits<PasswordStoreFactory>;
37
38 PasswordStoreFactory();
39 virtual ~PasswordStoreFactory();
40
41 #if !defined(OS_MACOSX) && !defined(OS_CHROMEOS) && defined(OS_POSIX)
42 LocalProfileId GetLocalProfileId(PrefService* prefs) const;
43 #endif
44
45 // ProfileKeyedServiceFactory:
46 virtual RefcountedProfileKeyedService* BuildServiceInstanceFor(
47 Profile* profile) const OVERRIDE;
48 virtual void RegisterUserPrefs(PrefService* prefs) OVERRIDE;
49 virtual bool ServiceRedirectedInIncognito() OVERRIDE;
50 virtual bool ServiceIsNULLWhileTesting() OVERRIDE;
51
52 DISALLOW_COPY_AND_ASSIGN(PasswordStoreFactory);
53 };
54
55 #endif // CHROME_BROWSER_PASSWORD_MANAGER_PASSWORD_STORE_FACTORY_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698