Index: chrome/browser/google_apis/gdata_wapi_parser.cc |
diff --git a/chrome/browser/google_apis/gdata_wapi_parser.cc b/chrome/browser/google_apis/gdata_wapi_parser.cc |
index ccf6edcf7772e12341b24b175fb0da25ba6acf69..c7fcdfeb4e393c03b6b9b3c6e24851c0a15827d7 100644 |
--- a/chrome/browser/google_apis/gdata_wapi_parser.cc |
+++ b/chrome/browser/google_apis/gdata_wapi_parser.cc |
@@ -68,6 +68,7 @@ const char kWritersCanInviteNode[] = "writersCanInvite"; |
// Field names. |
const char kAuthorField[] = "author"; |
const char kCategoryField[] = "category"; |
+const char kChangestampField[] = "docs$changestamp"; |
const char kContentField[] = "content"; |
const char kDeletedField[] = "gd$deleted"; |
const char kETagField[] = "gd$etag"; |
@@ -593,7 +594,8 @@ DocumentEntry::DocumentEntry() |
: kind_(ENTRY_KIND_UNKNOWN), |
file_size_(0), |
deleted_(false), |
- removed_(false) { |
+ removed_(false), |
+ changestamp_(0) { |
} |
DocumentEntry::~DocumentEntry() { |
@@ -605,6 +607,13 @@ bool DocumentEntry::HasFieldPresent(const base::Value* value, |
return true; |
} |
+bool DocumentEntry::OptionalChangestamp(const base::StringPiece& value, |
+ int64* result) { |
+ if (!base::StringToInt64(value, result)) |
+ *result = 0; |
+ return true; |
+} |
+ |
// static |
void DocumentEntry::RegisterJSONConverter( |
base::JSONValueConverter<DocumentEntry>* converter) { |
@@ -640,6 +649,9 @@ void DocumentEntry::RegisterJSONConverter( |
kDeletedField, &DocumentEntry::deleted_, &DocumentEntry::HasFieldPresent); |
converter->RegisterCustomValueField<bool>( |
kRemovedField, &DocumentEntry::removed_, &DocumentEntry::HasFieldPresent); |
+ converter->RegisterCustomField<int64>( |
+ kChangestampField, &DocumentEntry::changestamp_, |
+ &DocumentEntry::OptionalChangestamp); |
} |
std::string DocumentEntry::GetHostedDocumentExtension() const { |