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

Side by Side Diff: chrome/browser/prefs/chrome_pref_service_factory.cc

Issue 2601873002: Add a mojo bridge for PersistentPrefStore. (Closed)
Patch Set: rebase Created 3 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
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 #include <chrome/browser/prefs/chrome_command_line_pref_store.h> 5 #include <chrome/browser/prefs/chrome_command_line_pref_store.h>
6 #include "chrome/browser/prefs/chrome_pref_service_factory.h" 6 #include "chrome/browser/prefs/chrome_pref_service_factory.h"
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 9
10 #include <string> 10 #include <string>
(...skipping 480 matching lines...) Expand 10 before | Expand all | Expand 10 after
491 new JsonPrefStore(pref_filename, pref_io_task_runner, 491 new JsonPrefStore(pref_filename, pref_io_task_runner,
492 std::unique_ptr<PrefFilter>()), 492 std::unique_ptr<PrefFilter>()),
493 NULL, // extension_prefs 493 NULL, // extension_prefs
494 async); 494 async);
495 return factory.Create(pref_registry.get()); 495 return factory.Create(pref_registry.get());
496 } 496 }
497 497
498 std::unique_ptr<sync_preferences::PrefServiceSyncable> CreateProfilePrefs( 498 std::unique_ptr<sync_preferences::PrefServiceSyncable> CreateProfilePrefs(
499 const base::FilePath& profile_path, 499 const base::FilePath& profile_path,
500 base::SequencedTaskRunner* pref_io_task_runner, 500 base::SequencedTaskRunner* pref_io_task_runner,
501 prefs::mojom::TrackedPreferenceValidationDelegate* validation_delegate, 501 std::unique_ptr<prefs::mojom::TrackedPreferenceValidationDelegate>*
502 validation_delegate,
502 policy::PolicyService* policy_service, 503 policy::PolicyService* policy_service,
503 SupervisedUserSettingsService* supervised_user_settings, 504 SupervisedUserSettingsService* supervised_user_settings,
504 const scoped_refptr<PrefStore>& extension_prefs, 505 const scoped_refptr<PrefStore>& extension_prefs,
505 const scoped_refptr<user_prefs::PrefRegistrySyncable>& pref_registry, 506 const scoped_refptr<user_prefs::PrefRegistrySyncable>& pref_registry,
506 bool async) { 507 bool async) {
507 TRACE_EVENT0("browser", "chrome_prefs::CreateProfilePrefs"); 508 TRACE_EVENT0("browser", "chrome_prefs::CreateProfilePrefs");
508 SCOPED_UMA_HISTOGRAM_TIMER("PrefService.CreateProfilePrefsTime"); 509 SCOPED_UMA_HISTOGRAM_TIMER("PrefService.CreateProfilePrefsTime");
509 510
510 // A StartSyncFlare used to kick sync early in case of a reset event. This is 511 // A StartSyncFlare used to kick sync early in case of a reset event. This is
511 // done since sync may bring back the user's server value post-reset which 512 // done since sync may bring back the user's server value post-reset which
512 // could potentially cause a "settings flash" between the factory default and 513 // could potentially cause a "settings flash" between the factory default and
513 // the re-instantiated server value. Starting sync ASAP minimizes the window 514 // the re-instantiated server value. Starting sync ASAP minimizes the window
514 // before the server value is re-instantiated (this window can otherwise be 515 // before the server value is re-instantiated (this window can otherwise be
515 // as long as 10 seconds by default). 516 // as long as 10 seconds by default).
516 const base::Closure start_sync_flare_for_prefs = 517 const base::Closure start_sync_flare_for_prefs =
517 base::Bind(sync_start_util::GetFlareForSyncableService(profile_path), 518 base::Bind(sync_start_util::GetFlareForSyncableService(profile_path),
518 syncer::PREFERENCES); 519 syncer::PREFERENCES);
519 520
520 sync_preferences::PrefServiceSyncableFactory factory; 521 sync_preferences::PrefServiceSyncableFactory factory;
521 scoped_refptr<PersistentPrefStore> user_pref_store( 522 scoped_refptr<PersistentPrefStore> user_pref_store(
522 CreateProfilePrefStoreManager(profile_path) 523 CreateProfilePrefStoreManager(profile_path)
523 ->CreateProfilePrefStore(pref_io_task_runner, 524 ->CreateProfilePrefStore(
524 start_sync_flare_for_prefs, 525 content::BrowserThread::GetTaskRunnerForThread(
525 validation_delegate)); 526 content::BrowserThread::IO),
527 pref_io_task_runner, start_sync_flare_for_prefs,
528 validation_delegate));
526 PrepareFactory(&factory, profile_path, policy_service, 529 PrepareFactory(&factory, profile_path, policy_service,
527 supervised_user_settings, user_pref_store, extension_prefs, 530 supervised_user_settings, user_pref_store, extension_prefs,
528 async); 531 async);
529 std::unique_ptr<sync_preferences::PrefServiceSyncable> pref_service = 532 std::unique_ptr<sync_preferences::PrefServiceSyncable> pref_service =
530 factory.CreateSyncable(pref_registry.get()); 533 factory.CreateSyncable(pref_registry.get());
531 534
532 return pref_service; 535 return pref_service;
533 } 536 }
534 537
535 void DisableDomainCheckForTesting() { 538 void DisableDomainCheckForTesting() {
(...skipping 15 matching lines...) Expand all
551 554
552 void ClearResetTime(Profile* profile) { 555 void ClearResetTime(Profile* profile) {
553 ProfilePrefStoreManager::ClearResetTime(profile->GetPrefs()); 556 ProfilePrefStoreManager::ClearResetTime(profile->GetPrefs());
554 } 557 }
555 558
556 void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { 559 void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
557 ProfilePrefStoreManager::RegisterProfilePrefs(registry); 560 ProfilePrefStoreManager::RegisterProfilePrefs(registry);
558 } 561 }
559 562
560 } // namespace chrome_prefs 563 } // namespace chrome_prefs
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698