Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / sync_file_system / drive_backend / metadata_database_index.cc
index 4e0c10b..d157f01 100644 (file)
@@ -170,7 +170,7 @@ void RemoveUnreachableItems(DatabaseContents* contents,
     FileTracker* tracker = contents->file_trackers[i];
     if (ContainsKey(visited_trackers, tracker->tracker_id())) {
       reachable_trackers.push_back(tracker);
-      contents->file_trackers[i] = NULL;
+      contents->file_trackers[i] = nullptr;
     } else {
       PutFileTrackerDeletionToDB(tracker->tracker_id(), db);
     }
@@ -188,7 +188,7 @@ void RemoveUnreachableItems(DatabaseContents* contents,
     FileMetadata* metadata = contents->file_metadata[i];
     if (ContainsKey(referred_file_ids, metadata->file_id())) {
       referred_file_metadata.push_back(metadata);
-      contents->file_metadata[i] = NULL;
+      contents->file_metadata[i] = nullptr;
     } else {
       PutFileMetadataDeletionToDB(metadata->file_id(), db);
     }
@@ -204,8 +204,10 @@ MetadataDatabaseIndex::Create(LevelDBWrapper* db) {
   DCHECK(db);
 
   scoped_ptr<ServiceMetadata> service_metadata = InitializeServiceMetadata(db);
-  DatabaseContents contents;
+  if (!service_metadata)
+    return scoped_ptr<MetadataDatabaseIndex>();
 
+  DatabaseContents contents;
   PutVersionToDB(kCurrentDatabaseVersion, db);
   ReadDatabaseContents(db, &contents);
   RemoveUnreachableItems(&contents,
@@ -400,6 +402,11 @@ bool MetadataDatabaseIndex::HasDemotedDirtyTracker() const {
   return !demoted_dirty_trackers_.empty();
 }
 
+bool MetadataDatabaseIndex::IsDemotedDirtyTracker(int64 tracker_id) const {
+  return demoted_dirty_trackers_.find(tracker_id) !=
+      demoted_dirty_trackers_.end();
+}
+
 void MetadataDatabaseIndex::PromoteDemotedDirtyTracker(int64 tracker_id) {
   if (demoted_dirty_trackers_.erase(tracker_id) == 1)
     dirty_trackers_.insert(tracker_id);
@@ -414,7 +421,7 @@ bool MetadataDatabaseIndex::PromoteDemotedDirtyTrackers() {
 }
 
 size_t MetadataDatabaseIndex::CountDirtyTracker() const {
-  return dirty_trackers_.size() + demoted_dirty_trackers_.size();
+  return dirty_trackers_.size();
 }
 
 size_t MetadataDatabaseIndex::CountFileMetadata() const {