Index: chrome/browser/sync_file_system/drive_backend/metadata_database.cc |
diff --git a/chrome/browser/sync_file_system/drive_backend/metadata_database.cc b/chrome/browser/sync_file_system/drive_backend/metadata_database.cc |
index 4f8946ce71a169a29addef71013872a174d5fa8a..39bc8d2a90c03721ea51d059537203e9fdef73d3 100644 |
--- a/chrome/browser/sync_file_system/drive_backend/metadata_database.cc |
+++ b/chrome/browser/sync_file_system/drive_backend/metadata_database.cc |
@@ -522,14 +522,17 @@ void RemoveFileTracker(int64 tracker_id, |
struct MetadataDatabase::CreateParam { |
scoped_refptr<base::SequencedTaskRunner> worker_task_runner; |
base::FilePath database_path; |
+ bool enable_on_disk_index; |
leveldb::Env* env_override; |
CreateParam( |
const scoped_refptr<base::SequencedTaskRunner>& worker_task_runner, |
const base::FilePath& database_path, |
+ bool enable_on_disk_index, |
leveldb::Env* env_override) |
: worker_task_runner(worker_task_runner), |
database_path(database_path), |
+ enable_on_disk_index(enable_on_disk_index), |
env_override(env_override) {} |
}; |
@@ -539,11 +542,32 @@ void MetadataDatabase::Create( |
const base::FilePath& database_path, |
leveldb::Env* env_override, |
const CreateCallback& callback) { |
+ bool enable_on_disk_index = !CommandLine::ForCurrentProcess()->HasSwitch( |
+ kDisableMetadataDatabaseOnDisk); |
+ |
worker_task_runner->PostTask(FROM_HERE, base::Bind( |
&MetadataDatabase::CreateOnWorkerTaskRunner, |
base::Passed(make_scoped_ptr(new CreateParam( |
worker_task_runner, |
database_path, |
+ enable_on_disk_index, |
+ env_override))), |
+ callback)); |
+} |
+ |
+// static |
+void MetadataDatabase::CreateOnWorkerForTesting( |
+ const scoped_refptr<base::SequencedTaskRunner>& worker_task_runner, |
+ const base::FilePath& database_path, |
+ bool enable_on_disk_index, |
+ leveldb::Env* env_override, |
+ const CreateCallback& callback) { |
+ worker_task_runner->PostTask(FROM_HERE, base::Bind( |
tzik
2014/09/09 08:33:27
This PostTask is no longer needed, though we've no
peria
2014/09/10 05:40:12
Acknowledged.
|
+ &MetadataDatabase::CreateOnWorkerTaskRunner, |
+ base::Passed(make_scoped_ptr(new CreateParam( |
+ worker_task_runner, |
+ database_path, |
+ enable_on_disk_index, |
env_override))), |
callback)); |
} |
@@ -1425,12 +1449,10 @@ void MetadataDatabase::CreateOnWorkerTaskRunner( |
const CreateCallback& callback) { |
DCHECK(create_param->worker_task_runner->RunsTasksOnCurrentThread()); |
- bool enable_on_disk_index = !CommandLine::ForCurrentProcess()->HasSwitch( |
- kDisableMetadataDatabaseOnDisk); |
scoped_ptr<MetadataDatabase> metadata_database( |
new MetadataDatabase(create_param->worker_task_runner, |
create_param->database_path, |
- enable_on_disk_index, |
+ create_param->enable_on_disk_index, |
create_param->env_override)); |
SyncStatusCode status = metadata_database->Initialize(); |
@@ -1442,7 +1464,7 @@ void MetadataDatabase::CreateOnWorkerTaskRunner( |
metadata_database.reset( |
new MetadataDatabase(create_param->worker_task_runner, |
create_param->database_path, |
- enable_on_disk_index, |
+ create_param->enable_on_disk_index, |
create_param->env_override)); |
status = metadata_database->Initialize(); |
} |