OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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/prefs/pref_value_store.h" | 5 #include "chrome/browser/prefs/pref_value_store.h" |
6 | 6 |
7 #include "chrome/browser/chrome_thread.h" | 7 #include "chrome/browser/chrome_thread.h" |
8 #include "chrome/browser/extensions/extension_pref_store.h" | 8 #include "chrome/browser/extensions/extension_pref_store.h" |
9 #include "chrome/browser/policy/configuration_policy_pref_store.h" | 9 #include "chrome/browser/policy/configuration_policy_pref_store.h" |
10 #include "chrome/browser/prefs/command_line_pref_store.h" | 10 #include "chrome/browser/prefs/command_line_pref_store.h" |
(...skipping 28 matching lines...) Expand all Loading... |
39 Profile* profile, | 39 Profile* profile, |
40 bool user_only) { | 40 bool user_only) { |
41 using policy::ConfigurationPolicyPrefStore; | 41 using policy::ConfigurationPolicyPrefStore; |
42 ConfigurationPolicyPrefStore* managed = NULL; | 42 ConfigurationPolicyPrefStore* managed = NULL; |
43 ExtensionPrefStore* extension = NULL; | 43 ExtensionPrefStore* extension = NULL; |
44 CommandLinePrefStore* command_line = NULL; | 44 CommandLinePrefStore* command_line = NULL; |
45 ConfigurationPolicyPrefStore* recommended = NULL; | 45 ConfigurationPolicyPrefStore* recommended = NULL; |
46 | 46 |
47 JsonPrefStore* user = new JsonPrefStore( | 47 JsonPrefStore* user = new JsonPrefStore( |
48 pref_filename, | 48 pref_filename, |
49 ChromeThread::GetMessageLoopProxyForThread(ChromeThread::FILE)); | 49 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::FILE)); |
50 DefaultPrefStore* default_store = new DefaultPrefStore(); | 50 DefaultPrefStore* default_store = new DefaultPrefStore(); |
51 | 51 |
52 if (!user_only) { | 52 if (!user_only) { |
53 managed = ConfigurationPolicyPrefStore::CreateManagedPolicyPrefStore(); | 53 managed = ConfigurationPolicyPrefStore::CreateManagedPolicyPrefStore(); |
54 extension = new ExtensionPrefStore(profile, PrefNotifier::EXTENSION_STORE); | 54 extension = new ExtensionPrefStore(profile, PrefNotifier::EXTENSION_STORE); |
55 command_line = new CommandLinePrefStore(CommandLine::ForCurrentProcess()); | 55 command_line = new CommandLinePrefStore(CommandLine::ForCurrentProcess()); |
56 recommended = | 56 recommended = |
57 ConfigurationPolicyPrefStore::CreateRecommendedPolicyPrefStore(); | 57 ConfigurationPolicyPrefStore::CreateRecommendedPolicyPrefStore(); |
58 } | 58 } |
59 return new PrefValueStore(managed, extension, command_line, user, | 59 return new PrefValueStore(managed, extension, command_line, user, |
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
279 changed_paths.begin()); | 279 changed_paths.begin()); |
280 changed_paths.resize(last_insert - changed_paths.begin()); | 280 changed_paths.resize(last_insert - changed_paths.begin()); |
281 | 281 |
282 pref_stores_[PrefNotifier::MANAGED_STORE].reset(new_managed_pref_store); | 282 pref_stores_[PrefNotifier::MANAGED_STORE].reset(new_managed_pref_store); |
283 pref_stores_[PrefNotifier::RECOMMENDED_STORE].reset( | 283 pref_stores_[PrefNotifier::RECOMMENDED_STORE].reset( |
284 new_recommended_pref_store); | 284 new_recommended_pref_store); |
285 callback->Run(changed_paths); | 285 callback->Run(changed_paths); |
286 } | 286 } |
287 | 287 |
288 void PrefValueStore::RefreshPolicyPrefsOnFileThread( | 288 void PrefValueStore::RefreshPolicyPrefsOnFileThread( |
289 ChromeThread::ID calling_thread_id, | 289 BrowserThread::ID calling_thread_id, |
290 PrefStore* new_managed_pref_store, | 290 PrefStore* new_managed_pref_store, |
291 PrefStore* new_recommended_pref_store, | 291 PrefStore* new_recommended_pref_store, |
292 AfterRefreshCallback* callback_pointer) { | 292 AfterRefreshCallback* callback_pointer) { |
293 scoped_ptr<AfterRefreshCallback> callback(callback_pointer); | 293 scoped_ptr<AfterRefreshCallback> callback(callback_pointer); |
294 DCHECK(ChromeThread::CurrentlyOn(ChromeThread::FILE)); | 294 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); |
295 scoped_ptr<PrefStore> managed_pref_store(new_managed_pref_store); | 295 scoped_ptr<PrefStore> managed_pref_store(new_managed_pref_store); |
296 scoped_ptr<PrefStore> recommended_pref_store(new_recommended_pref_store); | 296 scoped_ptr<PrefStore> recommended_pref_store(new_recommended_pref_store); |
297 | 297 |
298 PrefStore::PrefReadError read_error = new_managed_pref_store->ReadPrefs(); | 298 PrefStore::PrefReadError read_error = new_managed_pref_store->ReadPrefs(); |
299 if (read_error != PrefStore::PREF_READ_ERROR_NONE) { | 299 if (read_error != PrefStore::PREF_READ_ERROR_NONE) { |
300 LOG(ERROR) << "refresh of managed policy failed: PrefReadError = " | 300 LOG(ERROR) << "refresh of managed policy failed: PrefReadError = " |
301 << read_error; | 301 << read_error; |
302 return; | 302 return; |
303 } | 303 } |
304 | 304 |
305 read_error = new_recommended_pref_store->ReadPrefs(); | 305 read_error = new_recommended_pref_store->ReadPrefs(); |
306 if (read_error != PrefStore::PREF_READ_ERROR_NONE) { | 306 if (read_error != PrefStore::PREF_READ_ERROR_NONE) { |
307 LOG(ERROR) << "refresh of recommended policy failed: PrefReadError = " | 307 LOG(ERROR) << "refresh of recommended policy failed: PrefReadError = " |
308 << read_error; | 308 << read_error; |
309 return; | 309 return; |
310 } | 310 } |
311 | 311 |
312 ChromeThread::PostTask( | 312 BrowserThread::PostTask( |
313 calling_thread_id, FROM_HERE, | 313 calling_thread_id, FROM_HERE, |
314 NewRunnableMethod(this, | 314 NewRunnableMethod(this, |
315 &PrefValueStore::RefreshPolicyPrefsCompletion, | 315 &PrefValueStore::RefreshPolicyPrefsCompletion, |
316 managed_pref_store.release(), | 316 managed_pref_store.release(), |
317 recommended_pref_store.release(), | 317 recommended_pref_store.release(), |
318 callback.release())); | 318 callback.release())); |
319 } | 319 } |
320 | 320 |
321 void PrefValueStore::RefreshPolicyPrefs( | 321 void PrefValueStore::RefreshPolicyPrefs( |
322 PrefStore* new_managed_pref_store, | 322 PrefStore* new_managed_pref_store, |
323 PrefStore* new_recommended_pref_store, | 323 PrefStore* new_recommended_pref_store, |
324 AfterRefreshCallback* callback) { | 324 AfterRefreshCallback* callback) { |
325 ChromeThread::ID current_thread_id; | 325 BrowserThread::ID current_thread_id; |
326 CHECK(ChromeThread::GetCurrentThreadIdentifier(¤t_thread_id)); | 326 CHECK(BrowserThread::GetCurrentThreadIdentifier(¤t_thread_id)); |
327 ChromeThread::PostTask( | 327 BrowserThread::PostTask( |
328 ChromeThread::FILE, FROM_HERE, | 328 BrowserThread::FILE, FROM_HERE, |
329 NewRunnableMethod(this, | 329 NewRunnableMethod(this, |
330 &PrefValueStore::RefreshPolicyPrefsOnFileThread, | 330 &PrefValueStore::RefreshPolicyPrefsOnFileThread, |
331 current_thread_id, | 331 current_thread_id, |
332 new_managed_pref_store, | 332 new_managed_pref_store, |
333 new_recommended_pref_store, | 333 new_recommended_pref_store, |
334 callback)); | 334 callback)); |
335 } | 335 } |
336 | 336 |
337 PrefValueStore::PrefValueStore(PrefStore* managed_prefs, | 337 PrefValueStore::PrefValueStore(PrefStore* managed_prefs, |
338 PrefStore* extension_prefs, | 338 PrefStore* extension_prefs, |
339 PrefStore* command_line_prefs, | 339 PrefStore* command_line_prefs, |
340 PrefStore* user_prefs, | 340 PrefStore* user_prefs, |
341 PrefStore* recommended_prefs, | 341 PrefStore* recommended_prefs, |
342 PrefStore* default_prefs) { | 342 PrefStore* default_prefs) { |
343 // NULL default pref store is usually bad, but may be OK for some unit tests. | 343 // NULL default pref store is usually bad, but may be OK for some unit tests. |
344 if (!default_prefs) | 344 if (!default_prefs) |
345 LOG(WARNING) << "default pref store is null"; | 345 LOG(WARNING) << "default pref store is null"; |
346 pref_stores_[PrefNotifier::MANAGED_STORE].reset(managed_prefs); | 346 pref_stores_[PrefNotifier::MANAGED_STORE].reset(managed_prefs); |
347 pref_stores_[PrefNotifier::EXTENSION_STORE].reset(extension_prefs); | 347 pref_stores_[PrefNotifier::EXTENSION_STORE].reset(extension_prefs); |
348 pref_stores_[PrefNotifier::COMMAND_LINE_STORE].reset(command_line_prefs); | 348 pref_stores_[PrefNotifier::COMMAND_LINE_STORE].reset(command_line_prefs); |
349 pref_stores_[PrefNotifier::USER_STORE].reset(user_prefs); | 349 pref_stores_[PrefNotifier::USER_STORE].reset(user_prefs); |
350 pref_stores_[PrefNotifier::RECOMMENDED_STORE].reset(recommended_prefs); | 350 pref_stores_[PrefNotifier::RECOMMENDED_STORE].reset(recommended_prefs); |
351 pref_stores_[PrefNotifier::DEFAULT_STORE].reset(default_prefs); | 351 pref_stores_[PrefNotifier::DEFAULT_STORE].reset(default_prefs); |
352 } | 352 } |
OLD | NEW |