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

Unified Diff: chrome/browser/chromeos/drive/drive_integration_service.cc

Issue 17004011: drive: DriveIntegrationService owns ResourceMetadataStorage (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix a nit Created 7 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/drive/drive_integration_service.cc
diff --git a/chrome/browser/chromeos/drive/drive_integration_service.cc b/chrome/browser/chromeos/drive/drive_integration_service.cc
index 3a23798726a207524be91794a1b0bd59acb36351..15765ab74f015c85a6cc575c2a47410e17be0ee0 100644
--- a/chrome/browser/chromeos/drive/drive_integration_service.cc
+++ b/chrome/browser/chromeos/drive/drive_integration_service.cc
@@ -19,6 +19,8 @@
#include "chrome/browser/chromeos/drive/file_write_helper.h"
#include "chrome/browser/chromeos/drive/job_scheduler.h"
#include "chrome/browser/chromeos/drive/logging.h"
+#include "chrome/browser/chromeos/drive/resource_metadata.h"
+#include "chrome/browser/chromeos/drive/resource_metadata_storage.h"
#include "chrome/browser/download/download_service.h"
#include "chrome/browser/download/download_service_factory.h"
#include "chrome/browser/download/download_util.h"
@@ -91,9 +93,11 @@ std::string GetDriveUserAgent() {
// Initializes FileCache and ResourceMetadata.
// Must be run on the same task runner used by |cache| and |resource_metadata|.
-FileError InitializeMetadata(const base::FilePath& cache_root_directory,
- internal::FileCache* cache,
- internal::ResourceMetadata* resource_metadata) {
+FileError InitializeMetadata(
+ const base::FilePath& cache_root_directory,
+ internal::ResourceMetadataStorage* metadata_storage,
+ internal::FileCache* cache,
+ internal::ResourceMetadata* resource_metadata) {
if (!file_util::CreateDirectory(cache_root_directory.Append(
util::kMetadataDirectory)) ||
!file_util::CreateDirectory(cache_root_directory.Append(
@@ -119,6 +123,11 @@ FileError InitializeMetadata(const base::FilePath& cache_root_directory,
return FILE_ERROR_FAILED;
}
+ if (!metadata_storage->Initialize()) {
+ LOG(WARNING) << "Failed to initialize the metadata storage.";
+ return FILE_ERROR_FAILED;
+ }
+
FileError error = resource_metadata->Initialize();
LOG_IF(WARNING, error != FILE_ERROR_OK)
<< "Failed to initialize resource metadata. " << FileErrorToString(error);
@@ -157,6 +166,9 @@ DriveIntegrationService::DriveIntegrationService(
GetDriveUserAgent()));
}
scheduler_.reset(new JobScheduler(profile_, drive_service_.get()));
+ metadata_storage_.reset(new internal::ResourceMetadataStorage(
+ cache_root_directory_.Append(util::kMetadataDirectory),
+ blocking_task_runner_.get()));
cache_.reset(new internal::FileCache(
cache_root_directory_.Append(util::kMetadataDirectory),
cache_root_directory_.Append(util::kCacheFileDirectory),
@@ -165,8 +177,7 @@ DriveIntegrationService::DriveIntegrationService(
drive_app_registry_.reset(new DriveAppRegistry(scheduler_.get()));
resource_metadata_.reset(new internal::ResourceMetadata(
- cache_root_directory_.Append(util::kMetadataDirectory),
- blocking_task_runner_));
+ metadata_storage_.get(), blocking_task_runner_));
file_system_.reset(
test_file_system ? test_file_system : new FileSystem(
@@ -198,6 +209,7 @@ void DriveIntegrationService::Initialize() {
FROM_HERE,
base::Bind(&InitializeMetadata,
cache_root_directory_,
+ metadata_storage_.get(),
cache_.get(),
resource_metadata_.get()),
base::Bind(&DriveIntegrationService::InitializeAfterMetadataInitialized,

Powered by Google App Engine
This is Rietveld 408576698