Moved JsonPrefStore to use SequencedWorkerPool instead of FILE thread. The pool also ensures that the same file requests are written in order received and that they block on shutdown.
BUG=153367
TEST=existing unit/browser tests
Review URL: https://codereview.chromium.org/11027070
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@166603 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
index 46b74e6..aacfea08 100644
--- a/chrome/browser/browser_process_impl.cc
+++ b/chrome/browser/browser_process_impl.cc
@@ -133,7 +133,9 @@
using content::PluginService;
using content::ResourceDispatcherHost;
-BrowserProcessImpl::BrowserProcessImpl(const CommandLine& command_line)
+BrowserProcessImpl::BrowserProcessImpl(
+ base::SequencedTaskRunner* local_state_task_runner,
+ const CommandLine& command_line)
: created_metrics_service_(false),
created_watchdog_thread_(false),
created_browser_policy_connector_(false),
@@ -147,7 +149,8 @@
checked_for_new_frames_(false),
using_new_frames_(false),
render_widget_snapshot_taker_(new RenderWidgetSnapshotTaker),
- download_status_updater_(new DownloadStatusUpdater) {
+ download_status_updater_(new DownloadStatusUpdater),
+ local_state_task_runner_(local_state_task_runner) {
g_browser_process = this;
#if defined(ENABLE_PRINTING)
@@ -709,10 +712,10 @@
created_local_state_ = true;
FilePath local_state_path;
- PathService::Get(chrome::FILE_LOCAL_STATE, &local_state_path);
+ CHECK(PathService::Get(chrome::FILE_LOCAL_STATE, &local_state_path));
local_state_.reset(
- PrefService::CreatePrefService(local_state_path, policy_service(), NULL,
- false));
+ PrefService::CreatePrefService(local_state_path, local_state_task_runner_,
+ policy_service(), NULL, false));
// Initialize the prefs of the local state.
chrome::RegisterLocalState(local_state_.get());