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

Unified Diff: chrome/browser/sync/glue/bookmark_change_processor.cc

Issue 11090083: Makes sync code persist the date the node was added. I'm hoping this covers (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix test Created 8 years, 2 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/sync/glue/bookmark_change_processor.cc
diff --git a/chrome/browser/sync/glue/bookmark_change_processor.cc b/chrome/browser/sync/glue/bookmark_change_processor.cc
index 14cc596c5d3ba0d33aac7803121055efcbf43549..33876daab39a667f320bbd5bd1284b416a02197d 100644
--- a/chrome/browser/sync/glue/bookmark_change_processor.cc
+++ b/chrome/browser/sync/glue/bookmark_change_processor.cc
@@ -59,12 +59,17 @@ void BookmarkChangeProcessor::StartImpl(Profile* profile) {
}
void BookmarkChangeProcessor::UpdateSyncNodeProperties(
- const BookmarkNode* src, BookmarkModel* model, syncer::WriteNode* dst) {
+ const BookmarkNode* src,
+ BookmarkModel* model,
+ syncer::WriteNode* dst) {
// Set the properties of the item.
dst->SetIsFolder(src->is_folder());
dst->SetTitle(UTF16ToWideHack(src->GetTitle()));
+ sync_pb::BookmarkSpecifics bookmark_specifics(dst->GetBookmarkSpecifics());
if (!src->is_folder())
- dst->SetURL(src->url());
+ bookmark_specifics.set_url(src->url().spec());
+ bookmark_specifics.set_creation_time_us(src->date_added().ToInternalValue());
+ dst->SetBookmarkSpecifics(bookmark_specifics);
SetSyncNodeFavicon(src, model, dst);
}
@@ -587,9 +592,14 @@ const BookmarkNode* BookmarkChangeProcessor::CreateBookmarkNode(
node = model->AddFolder(parent, index,
UTF8ToUTF16(sync_node->GetTitle()));
} else {
- node = model->AddURL(parent, index,
- UTF8ToUTF16(sync_node->GetTitle()),
- sync_node->GetURL());
+ // 'creation_time_us' was added in m24. Assume a time of 0 means now.
+ const int64 create_time_internal =
+ sync_node->GetBookmarkSpecifics().creation_time_us();
+ base::Time create_time = (create_time_internal == 0) ?
+ base::Time::Now() : base::Time::FromInternalValue(create_time_internal);
+ node = model->AddURLWithCreationTime(parent, index,
+ UTF8ToUTF16(sync_node->GetTitle()),
+ sync_node->GetURL(), create_time);
if (node)
SetBookmarkFavicon(sync_node, node, model);
}
« no previous file with comments | « chrome/browser/bookmarks/bookmark_model.cc ('k') | chrome/browser/sync/profile_sync_service_bookmark_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698