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

Side by Side Diff: chrome/browser/extensions/default_apps.h

Issue 12079097: Introduce PrefRegistrySyncable, simplifying PrefServiceSyncable. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add to PrefRegistrySyncable and PrefServiceSyncable to let sync know of pre-registered prefs. Created 7 years, 10 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
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_EXTENSIONS_DEFAULT_APPS_H_ 5 #ifndef CHROME_BROWSER_EXTENSIONS_DEFAULT_APPS_H_
6 #define CHROME_BROWSER_EXTENSIONS_DEFAULT_APPS_H_ 6 #define CHROME_BROWSER_EXTENSIONS_DEFAULT_APPS_H_
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "chrome/browser/extensions/external_provider_impl.h" 9 #include "chrome/browser/extensions/external_provider_impl.h"
10 #include "chrome/common/extensions/manifest.h" 10 #include "chrome/common/extensions/manifest.h"
11 11
12 class PrefServiceSyncable; 12 class PrefRegistrySyncable;
13 class Profile; 13 class Profile;
14 14
15 namespace base { 15 namespace base {
16 class DictionaryValue; 16 class DictionaryValue;
17 } 17 }
18 18
19 // Functions and types related to installing default apps. 19 // Functions and types related to installing default apps.
20 namespace default_apps { 20 namespace default_apps {
21 21
22 // These enum values are persisted in the user preferences, so they should not 22 // These enum values are persisted in the user preferences, so they should not
23 // be changed. 23 // be changed.
24 enum InstallState { 24 enum InstallState {
25 kUnknown, 25 kUnknown,
26 // Now unused, left for backward compatibility. 26 // Now unused, left for backward compatibility.
27 kProvideLegacyDefaultApps, 27 kProvideLegacyDefaultApps,
28 kNeverInstallDefaultApps, 28 kNeverInstallDefaultApps,
29 kAlreadyInstalledDefaultApps 29 kAlreadyInstalledDefaultApps
30 }; 30 };
31 31
32 // Register preference properties used by default apps to maintain 32 // Register preference properties used by default apps to maintain
33 // install state. 33 // install state.
34 void RegisterUserPrefs(PrefServiceSyncable* prefs); 34 void RegisterUserPrefs(PrefRegistrySyncable* registry);
35 35
36 // A specialization of the ExternalProviderImpl that conditionally installs apps 36 // A specialization of the ExternalProviderImpl that conditionally installs apps
37 // from the chrome::DIR_DEFAULT_APPS location based on a preference in the 37 // from the chrome::DIR_DEFAULT_APPS location based on a preference in the
38 // profile. 38 // profile.
39 class Provider : public extensions::ExternalProviderImpl { 39 class Provider : public extensions::ExternalProviderImpl {
40 public: 40 public:
41 Provider(Profile* profile, 41 Provider(Profile* profile,
42 VisitorInterface* service, 42 VisitorInterface* service,
43 extensions::ExternalLoader* loader, 43 extensions::ExternalLoader* loader,
44 extensions::Manifest::Location crx_location, 44 extensions::Manifest::Location crx_location,
45 extensions::Manifest::Location download_location, 45 extensions::Manifest::Location download_location,
46 int creation_flags); 46 int creation_flags);
47 47
48 bool ShouldInstallInProfile(); 48 bool ShouldInstallInProfile();
49 49
50 // ExternalProviderImpl overrides: 50 // ExternalProviderImpl overrides:
51 virtual void VisitRegisteredExtension() OVERRIDE; 51 virtual void VisitRegisteredExtension() OVERRIDE;
52 virtual void SetPrefs(base::DictionaryValue* prefs) OVERRIDE; 52 virtual void SetPrefs(base::DictionaryValue* prefs) OVERRIDE;
53 53
54 private: 54 private:
55 Profile* profile_; 55 Profile* profile_;
56 bool is_migration_; 56 bool is_migration_;
57 57
58 DISALLOW_COPY_AND_ASSIGN(Provider); 58 DISALLOW_COPY_AND_ASSIGN(Provider);
59 }; 59 };
60 60
61 } // namespace default_apps 61 } // namespace default_apps
62 62
63 #endif // CHROME_BROWSER_EXTENSIONS_DEFAULT_APPS_H_ 63 #endif // CHROME_BROWSER_EXTENSIONS_DEFAULT_APPS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698