summaryrefslogtreecommitdiffstats
path: root/chrome/browser/bookmarks/bookmark_storage.cc
diff options
context:
space:
mode:
authormunjal@chromium.org <munjal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-13 23:27:13 +0000
committermunjal@chromium.org <munjal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-13 23:27:13 +0000
commit367d707fa4f9a6712ccb7035c530da5788a4f5a2 (patch)
tree676c59f1f4eec2145a59fcb36c8894afab10042c /chrome/browser/bookmarks/bookmark_storage.cc
parentd8241d65b71b1409c9f6581b9ceee68f9bf35c3e (diff)
downloadchromium_src-367d707fa4f9a6712ccb7035c530da5788a4f5a2.zip
chromium_src-367d707fa4f9a6712ccb7035c530da5788a4f5a2.tar.gz
chromium_src-367d707fa4f9a6712ccb7035c530da5788a4f5a2.tar.bz2
Try the original CL "Always persist bookmark IDs" again with the fix to
Valgrind issue. The fix is in bookmark_storage.h - initialized the newly added member ids_reassigned_ of LoadDetails class. See http://codereview.chromium.org/149310 for the original CL. TEST=NONE BUG=16068 Review URL: http://codereview.chromium.org/155456 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20565 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/bookmarks/bookmark_storage.cc')
-rw-r--r--chrome/browser/bookmarks/bookmark_storage.cc17
1 files changed, 7 insertions, 10 deletions
diff --git a/chrome/browser/bookmarks/bookmark_storage.cc b/chrome/browser/bookmarks/bookmark_storage.cc
index a530158..d7dbe19 100644
--- a/chrome/browser/bookmarks/bookmark_storage.cc
+++ b/chrome/browser/bookmarks/bookmark_storage.cc
@@ -68,13 +68,11 @@ class BookmarkStorage::LoadTask : public Task {
LoadTask(const FilePath& path,
MessageLoop* loop,
BookmarkStorage* storage,
- LoadDetails* details,
- bool persist_ids)
+ LoadDetails* details)
: path_(path),
loop_(loop),
storage_(storage),
- details_(details),
- persist_ids_(persist_ids) {
+ details_(details) {
}
virtual void Run() {
@@ -86,14 +84,15 @@ class BookmarkStorage::LoadTask : public Task {
if (root.get()) {
// Building the index cane take a while, so we do it on the background
// thread.
- int max_node_id = 0;
- BookmarkCodec codec(persist_ids_);
+ int64 max_node_id = 0;
+ BookmarkCodec codec;
TimeTicks start_time = TimeTicks::Now();
codec.Decode(details_->bb_node(), details_->other_folder_node(),
&max_node_id, *root.get());
details_->set_max_id(std::max(max_node_id, details_->max_id()));
details_->set_computed_checksum(codec.computed_checksum());
details_->set_stored_checksum(codec.stored_checksum());
+ details_->set_ids_reassigned(codec.ids_reassigned());
UMA_HISTOGRAM_TIMES("Bookmarks.DecodeTime",
TimeTicks::Now() - start_time);
@@ -129,7 +128,6 @@ class BookmarkStorage::LoadTask : public Task {
MessageLoop* loop_;
scoped_refptr<BookmarkStorage> storage_;
LoadDetails* details_;
- bool persist_ids_;
DISALLOW_COPY_AND_ASSIGN(LoadTask);
};
@@ -164,8 +162,7 @@ void BookmarkStorage::DoLoadBookmarks(const FilePath& path) {
Task* task = new LoadTask(path,
backend_thread() ? MessageLoop::current() : NULL,
this,
- details_.get(),
- model_->PersistIDs());
+ details_.get());
RunTaskOnBackendThread(task);
}
@@ -211,7 +208,7 @@ void BookmarkStorage::BookmarkModelDeleted() {
}
bool BookmarkStorage::SerializeData(std::string* output) {
- BookmarkCodec codec(model_->PersistIDs());
+ BookmarkCodec codec;
scoped_ptr<Value> value(codec.Encode(model_));
JSONStringValueSerializer serializer(output);
serializer.set_pretty_print(true);