Index: components/drive/resource_entry_conversion.cc |
diff --git a/components/drive/resource_entry_conversion.cc b/components/drive/resource_entry_conversion.cc |
index 52eda29bffc8b0f0c4a9c826d707920a90129d48..7b719f81a4c9fb0a55e66611ecf812d0068df196 100644 |
--- a/components/drive/resource_entry_conversion.cc |
+++ b/components/drive/resource_entry_conversion.cc |
@@ -26,12 +26,18 @@ bool ConvertChangeResourceToResourceEntry( |
ResourceEntry converted; |
std::string parent_resource_id; |
- if (input.file() && |
- !ConvertFileResourceToResourceEntry(*input.file(), &converted, |
- &parent_resource_id)) |
+ if (input.type() == google_apis::ChangeResource::TEAM_DRIVE) { |
+ converted.mutable_file_info()->set_is_directory(true); |
+ converted.set_parent_local_id(util::kDriveTeamDrivesDirLocalId); |
+ if (input.team_drive()) |
+ ConvertTeamDriveResourceToResourceEntry(*input.team_drive(), &converted); |
+ converted.set_resource_id(input.team_drive_id()); |
+ } else { |
+ if (input.file() && !ConvertFileResourceToResourceEntry( |
+ *input.file(), &converted, &parent_resource_id)) |
return false; |
- |
- converted.set_resource_id(input.file_id()); |
+ converted.set_resource_id(input.file_id()); |
+ } |
converted.set_deleted(converted.deleted() || input.is_deleted()); |
converted.set_modification_date(input.modification_date().ToInternalValue()); |
@@ -128,6 +134,14 @@ bool ConvertFileResourceToResourceEntry( |
return true; |
} |
+void ConvertTeamDriveResourceToResourceEntry( |
+ const google_apis::TeamDriveResource& input, |
+ ResourceEntry* out_entry) { |
+ DCHECK(out_entry); |
+ out_entry->set_title(input.name()); |
+ out_entry->set_base_name(input.name()); |
+} |
+ |
void ConvertResourceEntryToFileInfo(const ResourceEntry& entry, |
base::File::Info* file_info) { |
file_info->size = entry.file_info().size(); |