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

Side by Side Diff: ui/app_list/search/history_data_store.cc

Issue 1868363002: Replace scoped_ptr with std::unique_ptr in //ui (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@scopedptrcc
Patch Set: scopedptrui: rebase-make_scoped_ptr Created 4 years, 8 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "ui/app_list/search/history_data_store.h" 5 #include "ui/app_list/search/history_data_store.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <utility> 10 #include <utility>
11 11
12 #include "base/callback.h" 12 #include "base/callback.h"
13 #include "base/json/json_file_value_serializer.h" 13 #include "base/json/json_file_value_serializer.h"
14 #include "base/json/json_string_value_serializer.h" 14 #include "base/json/json_string_value_serializer.h"
15 #include "base/memory/ptr_util.h"
15 #include "base/strings/string_number_conversions.h" 16 #include "base/strings/string_number_conversions.h"
16 #include "base/values.h" 17 #include "base/values.h"
17 18
18 namespace app_list { 19 namespace app_list {
19 20
20 namespace { 21 namespace {
21 22
22 const char kKeyVersion[] = "version"; 23 const char kKeyVersion[] = "version";
23 const char kCurrentVersion[] = "1"; 24 const char kCurrentVersion[] = "1";
24 25
(...skipping 27 matching lines...) Expand all
52 // "s" : [ 53 // "s" : [
53 // "result id of 1st (oldest) secondary association", 54 // "result id of 1st (oldest) secondary association",
54 // ... 55 // ...
55 // "result id of the newest secondary association" 56 // "result id of the newest secondary association"
56 // ], 57 // ],
57 // "t" : "last_update_timestamp" 58 // "t" : "last_update_timestamp"
58 // }, 59 // },
59 // ... 60 // ...
60 // } 61 // }
61 // } 62 // }
62 scoped_ptr<HistoryData::Associations> Parse( 63 std::unique_ptr<HistoryData::Associations> Parse(
63 scoped_ptr<base::DictionaryValue> dict) { 64 std::unique_ptr<base::DictionaryValue> dict) {
64 std::string version; 65 std::string version;
65 if (!dict->GetStringWithoutPathExpansion(kKeyVersion, &version) || 66 if (!dict->GetStringWithoutPathExpansion(kKeyVersion, &version) ||
66 version != kCurrentVersion) { 67 version != kCurrentVersion) {
67 return nullptr; 68 return nullptr;
68 } 69 }
69 70
70 const base::DictionaryValue* assoc_dict = NULL; 71 const base::DictionaryValue* assoc_dict = NULL;
71 if (!dict->GetDictionaryWithoutPathExpansion(kKeyAssociations, &assoc_dict) || 72 if (!dict->GetDictionaryWithoutPathExpansion(kKeyAssociations, &assoc_dict) ||
72 !assoc_dict) { 73 !assoc_dict) {
73 return nullptr; 74 return nullptr;
74 } 75 }
75 76
76 scoped_ptr<HistoryData::Associations> data(new HistoryData::Associations); 77 std::unique_ptr<HistoryData::Associations> data(
78 new HistoryData::Associations);
77 for (base::DictionaryValue::Iterator it(*assoc_dict); !it.IsAtEnd(); 79 for (base::DictionaryValue::Iterator it(*assoc_dict); !it.IsAtEnd();
78 it.Advance()) { 80 it.Advance()) {
79 const base::DictionaryValue* entry_dict = NULL; 81 const base::DictionaryValue* entry_dict = NULL;
80 if (!it.value().GetAsDictionary(&entry_dict)) 82 if (!it.value().GetAsDictionary(&entry_dict))
81 continue; 83 continue;
82 84
83 std::string primary; 85 std::string primary;
84 std::string update_time_string; 86 std::string update_time_string;
85 if (!entry_dict->GetStringWithoutPathExpansion(kKeyPrimary, &primary) || 87 if (!entry_dict->GetStringWithoutPathExpansion(kKeyPrimary, &primary) ||
86 !entry_dict->GetStringWithoutPathExpansion(kKeyUpdateTime, 88 !entry_dict->GetStringWithoutPathExpansion(kKeyUpdateTime,
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
137 on_flushed.Run(); 139 on_flushed.Run();
138 } 140 }
139 141
140 void HistoryDataStore::Load( 142 void HistoryDataStore::Load(
141 const HistoryDataStore::OnLoadedCallback& on_loaded) { 143 const HistoryDataStore::OnLoadedCallback& on_loaded) {
142 if (data_store_.get()) { 144 if (data_store_.get()) {
143 data_store_->Load(base::Bind( 145 data_store_->Load(base::Bind(
144 &HistoryDataStore::OnDictionaryLoadedCallback, this, on_loaded)); 146 &HistoryDataStore::OnDictionaryLoadedCallback, this, on_loaded));
145 } else { 147 } else {
146 OnDictionaryLoadedCallback(on_loaded, 148 OnDictionaryLoadedCallback(on_loaded,
147 make_scoped_ptr(cached_dict_->DeepCopy())); 149 base::WrapUnique(cached_dict_->DeepCopy()));
148 } 150 }
149 } 151 }
150 152
151 void HistoryDataStore::SetPrimary(const std::string& query, 153 void HistoryDataStore::SetPrimary(const std::string& query,
152 const std::string& result) { 154 const std::string& result) {
153 base::DictionaryValue* entry_dict = GetEntryDict(query); 155 base::DictionaryValue* entry_dict = GetEntryDict(query);
154 entry_dict->SetWithoutPathExpansion(kKeyPrimary, 156 entry_dict->SetWithoutPathExpansion(kKeyPrimary,
155 new base::StringValue(result)); 157 new base::StringValue(result));
156 if (data_store_.get()) 158 if (data_store_.get())
157 data_store_->ScheduleWrite(); 159 data_store_->ScheduleWrite();
158 } 160 }
159 161
160 void HistoryDataStore::SetSecondary( 162 void HistoryDataStore::SetSecondary(
161 const std::string& query, 163 const std::string& query,
162 const HistoryData::SecondaryDeque& results) { 164 const HistoryData::SecondaryDeque& results) {
163 scoped_ptr<base::ListValue> results_list(new base::ListValue); 165 std::unique_ptr<base::ListValue> results_list(new base::ListValue);
164 for (size_t i = 0; i < results.size(); ++i) 166 for (size_t i = 0; i < results.size(); ++i)
165 results_list->AppendString(results[i]); 167 results_list->AppendString(results[i]);
166 168
167 base::DictionaryValue* entry_dict = GetEntryDict(query); 169 base::DictionaryValue* entry_dict = GetEntryDict(query);
168 entry_dict->SetWithoutPathExpansion(kKeySecondary, results_list.release()); 170 entry_dict->SetWithoutPathExpansion(kKeySecondary, results_list.release());
169 if (data_store_.get()) 171 if (data_store_.get())
170 data_store_->ScheduleWrite(); 172 data_store_->ScheduleWrite();
171 } 173 }
172 174
173 void HistoryDataStore::SetUpdateTime(const std::string& query, 175 void HistoryDataStore::SetUpdateTime(const std::string& query,
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
208 // Creates one if none exists. Ownership is taken in the set call after. 210 // Creates one if none exists. Ownership is taken in the set call after.
209 entry_dict = new base::DictionaryValue; 211 entry_dict = new base::DictionaryValue;
210 assoc_dict->SetWithoutPathExpansion(query, entry_dict); 212 assoc_dict->SetWithoutPathExpansion(query, entry_dict);
211 } 213 }
212 214
213 return entry_dict; 215 return entry_dict;
214 } 216 }
215 217
216 void HistoryDataStore::OnDictionaryLoadedCallback( 218 void HistoryDataStore::OnDictionaryLoadedCallback(
217 OnLoadedCallback callback, 219 OnLoadedCallback callback,
218 scoped_ptr<base::DictionaryValue> dict) { 220 std::unique_ptr<base::DictionaryValue> dict) {
219 if (!dict) { 221 if (!dict) {
220 callback.Run(nullptr); 222 callback.Run(nullptr);
221 } else { 223 } else {
222 callback.Run(Parse(std::move(dict))); 224 callback.Run(Parse(std::move(dict)));
223 } 225 }
224 } 226 }
225 227
226 } // namespace app_list 228 } // namespace app_list
OLDNEW
« no previous file with comments | « ui/app_list/search/history_data_store.h ('k') | ui/app_list/search/history_data_store_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698