OLD | NEW |
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_PROTECTOR_PROTECTED_PREFS_WATCHER_H_ | 5 #ifndef CHROME_BROWSER_PROTECTOR_PROTECTED_PREFS_WATCHER_H_ |
6 #define CHROME_BROWSER_PROTECTOR_PROTECTED_PREFS_WATCHER_H_ | 6 #define CHROME_BROWSER_PROTECTOR_PROTECTED_PREFS_WATCHER_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 24 matching lines...) Expand all Loading... |
35 static void RegisterUserPrefs(PrefService* prefs); | 35 static void RegisterUserPrefs(PrefService* prefs); |
36 | 36 |
37 // Returns true if pref named |path| has changed and the backup is valid. | 37 // Returns true if pref named |path| has changed and the backup is valid. |
38 bool DidPrefChange(const std::string& path) const; | 38 bool DidPrefChange(const std::string& path) const; |
39 | 39 |
40 // Returns the backup value for pref named |path| or |NULL| if the pref is not | 40 // Returns the backup value for pref named |path| or |NULL| if the pref is not |
41 // protected, does not exist or the backup is invalid. The returned Value | 41 // protected, does not exist or the backup is invalid. The returned Value |
42 // instance is owned by the PrefService. | 42 // instance is owned by the PrefService. |
43 const base::Value* GetBackupForPref(const std::string& path) const; | 43 const base::Value* GetBackupForPref(const std::string& path) const; |
44 | 44 |
45 // Updates the backup signature. | 45 // Forces a valid backup, matching actual preferences (overwriting any |
46 void UpdateBackupSignature(); | 46 // previous data). Should only be when protector service is disabled. |
| 47 void ForceUpdateBackup(); |
47 | 48 |
48 // True if the backup was valid at the profile load time. | 49 // True if the backup was valid at the profile load time. |
49 bool is_backup_valid() { return is_backup_valid_; } | 50 bool is_backup_valid() { return is_backup_valid_; } |
50 | 51 |
51 private: | 52 private: |
52 friend class ProtectedPrefsWatcherTest; | 53 friend class ProtectedPrefsWatcherTest; |
53 | 54 |
54 // content::NotificationObserver overrides: | 55 // content::NotificationObserver overrides: |
55 virtual void Observe(int type, | 56 virtual void Observe(int type, |
56 const content::NotificationSource& source, | 57 const content::NotificationSource& source, |
(...skipping 20 matching lines...) Expand all Loading... |
77 // Updates the backup утекн for |pref_name| and кeturns |true| if the | 78 // Updates the backup утекн for |pref_name| and кeturns |true| if the |
78 // backup has changed. | 79 // backup has changed. |
79 bool UpdateBackupEntry(const std::string& pref_name); | 80 bool UpdateBackupEntry(const std::string& pref_name); |
80 | 81 |
81 // Perform a check that backup is valid and settings have not been modified. | 82 // Perform a check that backup is valid and settings have not been modified. |
82 void ValidateBackup(); | 83 void ValidateBackup(); |
83 | 84 |
84 // Returns |true| if backup signature is valid. | 85 // Returns |true| if backup signature is valid. |
85 bool IsSignatureValid() const; | 86 bool IsSignatureValid() const; |
86 | 87 |
| 88 // Updates the backup signature. |
| 89 void UpdateBackupSignature(); |
| 90 |
87 // Returns data to be signed as string. | 91 // Returns data to be signed as string. |
88 std::string GetSignatureData(PrefService* prefs) const; | 92 std::string GetSignatureData(PrefService* prefs) const; |
89 | 93 |
90 // Cached set of extension IDs. They are not changed as frequently | 94 // Cached set of extension IDs. They are not changed as frequently |
91 ExtensionPrefs::ExtensionIdSet cached_extension_ids_; | 95 ExtensionPrefs::ExtensionIdSet cached_extension_ids_; |
92 | 96 |
93 scoped_ptr<PrefSetObserver> pref_observer_; | 97 scoped_ptr<PrefSetObserver> pref_observer_; |
94 | 98 |
95 // True if the backup was valid at the profile load time. | 99 // True if the backup was valid at the profile load time. |
96 bool is_backup_valid_; | 100 bool is_backup_valid_; |
97 | 101 |
98 Profile* profile_; | 102 Profile* profile_; |
99 | 103 |
100 DISALLOW_COPY_AND_ASSIGN(ProtectedPrefsWatcher); | 104 DISALLOW_COPY_AND_ASSIGN(ProtectedPrefsWatcher); |
101 }; | 105 }; |
102 | 106 |
103 } // namespace protector | 107 } // namespace protector |
104 | 108 |
105 #endif // CHROME_BROWSER_PROTECTOR_PROTECTED_PREFS_WATCHER_H_ | 109 #endif // CHROME_BROWSER_PROTECTOR_PROTECTED_PREFS_WATCHER_H_ |
OLD | NEW |