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

Side by Side Diff: components/bookmarks/browser/bookmark_storage.cc

Issue 925783002: Split ValueSerializer into separate Serializer and Deserializer classes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed cpplint warnings. Created 5 years, 9 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/bookmarks/browser/bookmark_storage.h" 5 #include "components/bookmarks/browser/bookmark_storage.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/compiler_specific.h" 8 #include "base/compiler_specific.h"
9 #include "base/files/file_util.h" 9 #include "base/files/file_util.h"
10 #include "base/json/json_file_value_serializer.h" 10 #include "base/json/json_file_value_serializer.h"
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 49
50 void LoadCallback(const base::FilePath& path, 50 void LoadCallback(const base::FilePath& path,
51 const base::WeakPtr<BookmarkStorage>& storage, 51 const base::WeakPtr<BookmarkStorage>& storage,
52 scoped_ptr<BookmarkLoadDetails> details, 52 scoped_ptr<BookmarkLoadDetails> details,
53 base::SequencedTaskRunner* task_runner) { 53 base::SequencedTaskRunner* task_runner) {
54 startup_metric_utils::ScopedSlowStartupUMA 54 startup_metric_utils::ScopedSlowStartupUMA
55 scoped_timer("Startup.SlowStartupBookmarksLoad"); 55 scoped_timer("Startup.SlowStartupBookmarksLoad");
56 bool load_index = false; 56 bool load_index = false;
57 bool bookmark_file_exists = base::PathExists(path); 57 bool bookmark_file_exists = base::PathExists(path);
58 if (bookmark_file_exists) { 58 if (bookmark_file_exists) {
59 JSONFileValueSerializer serializer(path); 59 JSONFileValueDeserializer deserializer(path);
60 scoped_ptr<base::Value> root(serializer.Deserialize(NULL, NULL)); 60 scoped_ptr<base::Value> root(deserializer.Deserialize(NULL, NULL));
61 61
62 if (root.get()) { 62 if (root.get()) {
63 // Building the index can take a while, so we do it on the background 63 // Building the index can take a while, so we do it on the background
64 // thread. 64 // thread.
65 int64 max_node_id = 0; 65 int64 max_node_id = 0;
66 BookmarkCodec codec; 66 BookmarkCodec codec;
67 TimeTicks start_time = TimeTicks::Now(); 67 TimeTicks start_time = TimeTicks::Now();
68 codec.Decode(details->bb_node(), details->other_folder_node(), 68 codec.Decode(details->bb_node(), details->other_folder_node(),
69 details->mobile_folder_node(), &max_node_id, *root.get()); 69 details->mobile_folder_node(), &max_node_id, *root.get());
70 details->set_max_id(std::max(max_node_id, details->max_id())); 70 details->set_max_id(std::max(max_node_id, details->max_id()));
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
206 } 206 }
207 207
208 std::string data; 208 std::string data;
209 if (!SerializeData(&data)) 209 if (!SerializeData(&data))
210 return false; 210 return false;
211 writer_.WriteNow(data); 211 writer_.WriteNow(data);
212 return true; 212 return true;
213 } 213 }
214 214
215 } // namespace bookmarks 215 } // namespace bookmarks
OLDNEW
« no previous file with comments | « components/bookmarks/browser/bookmark_codec_unittest.cc ('k') | components/json_schema/json_schema_validator_unittest_base.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698