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 #include "chrome/browser/extensions/extension_prefs.h" | 5 #include "chrome/browser/extensions/extension_prefs.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/prefs/pref_notifier.h" | 8 #include "base/prefs/pref_notifier.h" |
9 #include "base/string_number_conversions.h" | 9 #include "base/string_number_conversions.h" |
10 #include "base/string_util.h" | 10 #include "base/string_util.h" |
(...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
364 base::Time ExtensionPrefs::TimeProvider::GetCurrentTime() const { | 364 base::Time ExtensionPrefs::TimeProvider::GetCurrentTime() const { |
365 return base::Time::Now(); | 365 return base::Time::Now(); |
366 } | 366 } |
367 | 367 |
368 // | 368 // |
369 // ExtensionPrefs | 369 // ExtensionPrefs |
370 // | 370 // |
371 | 371 |
372 // static | 372 // static |
373 scoped_ptr<ExtensionPrefs> ExtensionPrefs::Create( | 373 scoped_ptr<ExtensionPrefs> ExtensionPrefs::Create( |
374 PrefService* prefs, | 374 PrefServiceSyncable* prefs, |
375 const FilePath& root_dir, | 375 const FilePath& root_dir, |
376 ExtensionPrefValueMap* extension_pref_value_map, | 376 ExtensionPrefValueMap* extension_pref_value_map, |
377 bool extensions_disabled) { | 377 bool extensions_disabled) { |
378 return ExtensionPrefs::Create(prefs, | 378 return ExtensionPrefs::Create(prefs, |
379 root_dir, | 379 root_dir, |
380 extension_pref_value_map, | 380 extension_pref_value_map, |
381 extensions_disabled, | 381 extensions_disabled, |
382 make_scoped_ptr(new TimeProvider())); | 382 make_scoped_ptr(new TimeProvider())); |
383 } | 383 } |
384 | 384 |
385 // static | 385 // static |
386 scoped_ptr<ExtensionPrefs> ExtensionPrefs::Create( | 386 scoped_ptr<ExtensionPrefs> ExtensionPrefs::Create( |
387 PrefService* pref_service, | 387 PrefServiceSyncable* pref_service, |
388 const FilePath& root_dir, | 388 const FilePath& root_dir, |
389 ExtensionPrefValueMap* extension_pref_value_map, | 389 ExtensionPrefValueMap* extension_pref_value_map, |
390 bool extensions_disabled, | 390 bool extensions_disabled, |
391 scoped_ptr<TimeProvider> time_provider) { | 391 scoped_ptr<TimeProvider> time_provider) { |
392 scoped_ptr<ExtensionPrefs> prefs( | 392 scoped_ptr<ExtensionPrefs> prefs( |
393 new ExtensionPrefs(pref_service, | 393 new ExtensionPrefs(pref_service, |
394 root_dir, | 394 root_dir, |
395 extension_pref_value_map, | 395 extension_pref_value_map, |
396 time_provider.Pass())); | 396 time_provider.Pass())); |
397 prefs->Init(extensions_disabled); | 397 prefs->Init(extensions_disabled); |
(...skipping 1800 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2198 return ext; | 2198 return ext; |
2199 } | 2199 } |
2200 | 2200 |
2201 void ExtensionPrefs::SetGeometryCache( | 2201 void ExtensionPrefs::SetGeometryCache( |
2202 const std::string& extension_id, | 2202 const std::string& extension_id, |
2203 scoped_ptr<base::DictionaryValue> cache) { | 2203 scoped_ptr<base::DictionaryValue> cache) { |
2204 UpdateExtensionPref(extension_id, kPrefGeometryCache, cache.release()); | 2204 UpdateExtensionPref(extension_id, kPrefGeometryCache, cache.release()); |
2205 } | 2205 } |
2206 | 2206 |
2207 ExtensionPrefs::ExtensionPrefs( | 2207 ExtensionPrefs::ExtensionPrefs( |
2208 PrefService* prefs, | 2208 PrefServiceSyncable* prefs, |
2209 const FilePath& root_dir, | 2209 const FilePath& root_dir, |
2210 ExtensionPrefValueMap* extension_pref_value_map, | 2210 ExtensionPrefValueMap* extension_pref_value_map, |
2211 scoped_ptr<TimeProvider> time_provider) | 2211 scoped_ptr<TimeProvider> time_provider) |
2212 : prefs_(prefs), | 2212 : prefs_(prefs), |
2213 install_directory_(root_dir), | 2213 install_directory_(root_dir), |
2214 extension_pref_value_map_(extension_pref_value_map), | 2214 extension_pref_value_map_(extension_pref_value_map), |
2215 ALLOW_THIS_IN_INITIALIZER_LIST(extension_sorting_( | 2215 ALLOW_THIS_IN_INITIALIZER_LIST(extension_sorting_( |
2216 new ExtensionSorting(this, prefs))), | 2216 new ExtensionSorting(this, prefs))), |
2217 content_settings_store_(new ContentSettingsStore()), | 2217 content_settings_store_(new ContentSettingsStore()), |
2218 time_provider_(time_provider.Pass()) { | 2218 time_provider_(time_provider.Pass()) { |
2219 } | 2219 } |
2220 | 2220 |
2221 void ExtensionPrefs::Init(bool extensions_disabled) { | 2221 void ExtensionPrefs::Init(bool extensions_disabled) { |
2222 MakePathsRelative(); | 2222 MakePathsRelative(); |
2223 | 2223 |
2224 InitPrefStore(extensions_disabled); | 2224 InitPrefStore(extensions_disabled); |
2225 | 2225 |
2226 content_settings_store_->AddObserver(this); | 2226 content_settings_store_->AddObserver(this); |
2227 } | 2227 } |
2228 | 2228 |
2229 void ExtensionPrefs::SetNeedsStorageGarbageCollection(bool value) { | 2229 void ExtensionPrefs::SetNeedsStorageGarbageCollection(bool value) { |
2230 prefs_->SetBoolean(prefs::kExtensionStorageGarbageCollect, value); | 2230 prefs_->SetBoolean(prefs::kExtensionStorageGarbageCollect, value); |
2231 } | 2231 } |
2232 | 2232 |
2233 bool ExtensionPrefs::NeedsStorageGarbageCollection() { | 2233 bool ExtensionPrefs::NeedsStorageGarbageCollection() { |
2234 return prefs_->GetBoolean(prefs::kExtensionStorageGarbageCollect); | 2234 return prefs_->GetBoolean(prefs::kExtensionStorageGarbageCollect); |
2235 } | 2235 } |
2236 | 2236 |
2237 // static | 2237 // static |
2238 void ExtensionPrefs::RegisterUserPrefs(PrefService* prefs) { | 2238 void ExtensionPrefs::RegisterUserPrefs(PrefServiceSyncable* prefs) { |
2239 prefs->RegisterDictionaryPref(kExtensionsPref, PrefService::UNSYNCABLE_PREF); | 2239 prefs->RegisterDictionaryPref(kExtensionsPref, |
2240 prefs->RegisterListPref(kExtensionToolbar, PrefService::UNSYNCABLE_PREF); | 2240 PrefServiceSyncable::UNSYNCABLE_PREF); |
2241 prefs->RegisterListPref(kExtensionActionBox, PrefService::UNSYNCABLE_PREF); | 2241 prefs->RegisterListPref(kExtensionToolbar, |
2242 prefs->RegisterListPref(kExtensionActionBoxBar, PrefService::UNSYNCABLE_PREF); | 2242 PrefServiceSyncable::UNSYNCABLE_PREF); |
| 2243 prefs->RegisterListPref(kExtensionActionBox, |
| 2244 PrefServiceSyncable::UNSYNCABLE_PREF); |
| 2245 prefs->RegisterListPref(kExtensionActionBoxBar, |
| 2246 PrefServiceSyncable::UNSYNCABLE_PREF); |
2243 prefs->RegisterIntegerPref(prefs::kExtensionToolbarSize, | 2247 prefs->RegisterIntegerPref(prefs::kExtensionToolbarSize, |
2244 -1, // default value | 2248 -1, // default value |
2245 PrefService::UNSYNCABLE_PREF); | 2249 PrefServiceSyncable::UNSYNCABLE_PREF); |
2246 prefs->RegisterDictionaryPref(kExtensionsBlacklistUpdate, | 2250 prefs->RegisterDictionaryPref(kExtensionsBlacklistUpdate, |
2247 PrefService::UNSYNCABLE_PREF); | 2251 PrefServiceSyncable::UNSYNCABLE_PREF); |
2248 prefs->RegisterListPref(prefs::kExtensionInstallAllowList, | 2252 prefs->RegisterListPref(prefs::kExtensionInstallAllowList, |
2249 PrefService::UNSYNCABLE_PREF); | 2253 PrefServiceSyncable::UNSYNCABLE_PREF); |
2250 prefs->RegisterListPref(prefs::kExtensionInstallDenyList, | 2254 prefs->RegisterListPref(prefs::kExtensionInstallDenyList, |
2251 PrefService::UNSYNCABLE_PREF); | 2255 PrefServiceSyncable::UNSYNCABLE_PREF); |
2252 prefs->RegisterDictionaryPref(prefs::kExtensionInstallForceList, | 2256 prefs->RegisterDictionaryPref(prefs::kExtensionInstallForceList, |
2253 PrefService::UNSYNCABLE_PREF); | 2257 PrefServiceSyncable::UNSYNCABLE_PREF); |
2254 prefs->RegisterListPref(prefs::kExtensionAllowedTypes, | 2258 prefs->RegisterListPref(prefs::kExtensionAllowedTypes, |
2255 PrefService::UNSYNCABLE_PREF); | 2259 PrefServiceSyncable::UNSYNCABLE_PREF); |
2256 prefs->RegisterStringPref(kWebStoreLogin, | 2260 prefs->RegisterStringPref(kWebStoreLogin, |
2257 std::string(), // default value | 2261 std::string(), // default value |
2258 PrefService::UNSYNCABLE_PREF); | 2262 PrefServiceSyncable::UNSYNCABLE_PREF); |
2259 prefs->RegisterStringPref(prefs::kExtensionBlacklistUpdateVersion, | 2263 prefs->RegisterStringPref(prefs::kExtensionBlacklistUpdateVersion, |
2260 "0", // default value | 2264 "0", // default value |
2261 PrefService::UNSYNCABLE_PREF); | 2265 PrefServiceSyncable::UNSYNCABLE_PREF); |
2262 prefs->RegisterBooleanPref(prefs::kExtensionStorageGarbageCollect, | 2266 prefs->RegisterBooleanPref(prefs::kExtensionStorageGarbageCollect, |
2263 false, // default value | 2267 false, // default value |
2264 PrefService::UNSYNCABLE_PREF); | 2268 PrefServiceSyncable::UNSYNCABLE_PREF); |
2265 prefs->RegisterInt64Pref(prefs::kLastExtensionsUpdateCheck, | 2269 prefs->RegisterInt64Pref(prefs::kLastExtensionsUpdateCheck, |
2266 0, // default value | 2270 0, // default value |
2267 PrefService::UNSYNCABLE_PREF); | 2271 PrefServiceSyncable::UNSYNCABLE_PREF); |
2268 prefs->RegisterInt64Pref(prefs::kNextExtensionsUpdateCheck, | 2272 prefs->RegisterInt64Pref(prefs::kNextExtensionsUpdateCheck, |
2269 0, // default value | 2273 0, // default value |
2270 PrefService::UNSYNCABLE_PREF); | 2274 PrefServiceSyncable::UNSYNCABLE_PREF); |
2271 prefs->RegisterListPref(prefs::kExtensionAllowedInstallSites, | 2275 prefs->RegisterListPref(prefs::kExtensionAllowedInstallSites, |
2272 PrefService::UNSYNCABLE_PREF); | 2276 PrefServiceSyncable::UNSYNCABLE_PREF); |
2273 prefs->RegisterStringPref(kExtensionsLastChromeVersion, | 2277 prefs->RegisterStringPref(kExtensionsLastChromeVersion, |
2274 std::string(), // default value | 2278 std::string(), // default value |
2275 PrefService::UNSYNCABLE_PREF); | 2279 PrefServiceSyncable::UNSYNCABLE_PREF); |
2276 prefs->RegisterBooleanPref(kSideloadWipeoutDone, | 2280 prefs->RegisterBooleanPref(kSideloadWipeoutDone, |
2277 false, | 2281 false, |
2278 PrefService::UNSYNCABLE_PREF); | 2282 PrefServiceSyncable::UNSYNCABLE_PREF); |
2279 } | 2283 } |
2280 | 2284 |
2281 ExtensionIdList ExtensionPrefs::GetExtensionPrefAsVector( | 2285 ExtensionIdList ExtensionPrefs::GetExtensionPrefAsVector( |
2282 const char* pref) { | 2286 const char* pref) { |
2283 ExtensionIdList extension_ids; | 2287 ExtensionIdList extension_ids; |
2284 const ListValue* list_of_values = prefs_->GetList(pref); | 2288 const ListValue* list_of_values = prefs_->GetList(pref); |
2285 if (!list_of_values) | 2289 if (!list_of_values) |
2286 return extension_ids; | 2290 return extension_ids; |
2287 | 2291 |
2288 std::string extension_id; | 2292 std::string extension_id; |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2376 is_enabled = initial_state == Extension::ENABLED; | 2380 is_enabled = initial_state == Extension::ENABLED; |
2377 } | 2381 } |
2378 | 2382 |
2379 extension_pref_value_map_->RegisterExtension(extension_id, install_time, | 2383 extension_pref_value_map_->RegisterExtension(extension_id, install_time, |
2380 is_enabled); | 2384 is_enabled); |
2381 content_settings_store_->RegisterExtension(extension_id, install_time, | 2385 content_settings_store_->RegisterExtension(extension_id, install_time, |
2382 is_enabled); | 2386 is_enabled); |
2383 } | 2387 } |
2384 | 2388 |
2385 } // namespace extensions | 2389 } // namespace extensions |
OLD | NEW |