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

Side by Side Diff: components/sync/protocol/proto_value_conversions.cc

Issue 2452713003: [Sync] Implement MemoryDumpProvider. (Closed)
Patch Set: Fix presumit; fix Windows; git cl format Created 4 years 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/sync/protocol/proto_value_conversions.h" 5 #include "components/sync/protocol/proto_value_conversions.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <string> 9 #include <string>
10 10
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 template <class P, class E> 105 template <class P, class E>
106 void VisitEnum(const P& parent_proto, const char* field_name, E field) { 106 void VisitEnum(const P& parent_proto, const char* field_name, E field) {
107 value_->Set(field_name, EnumToValue(field)); 107 value_->Set(field_name, EnumToValue(field));
108 } 108 }
109 109
110 template <class P, class F> 110 template <class P, class F>
111 void Visit(const P& parent_proto, 111 void Visit(const P& parent_proto,
112 const char* field_name, 112 const char* field_name,
113 const google::protobuf::RepeatedPtrField<F>& repeated_field) { 113 const google::protobuf::RepeatedPtrField<F>& repeated_field) {
114 std::unique_ptr<base::ListValue> list(new base::ListValue()); 114 std::unique_ptr<base::ListValue> list(new base::ListValue());
115 for (const auto& field: repeated_field) { 115 for (const auto& field : repeated_field) {
116 list->Append(ToValue(field)); 116 list->Append(ToValue(field));
117 } 117 }
118 value_->Set(field_name, std::move(list)); 118 value_->Set(field_name, std::move(list));
119 } 119 }
120 120
121 template <class P, class F> 121 template <class P, class F>
122 void Visit(const P& parent_proto, 122 void Visit(const P& parent_proto,
123 const char* field_name, 123 const char* field_name,
124 const google::protobuf::RepeatedField<F>& repeated_field) { 124 const google::protobuf::RepeatedField<F>& repeated_field) {
125 std::unique_ptr<base::ListValue> list(new base::ListValue()); 125 std::unique_ptr<base::ListValue> list(new base::ListValue());
126 for (const auto& field: repeated_field) { 126 for (const auto& field : repeated_field) {
127 list->Append(ToValue(field)); 127 list->Append(ToValue(field));
128 } 128 }
129 value_->Set(field_name, std::move(list)); 129 value_->Set(field_name, std::move(list));
130 } 130 }
131 131
132 template <class P, class F> 132 template <class P, class F>
133 void Visit(const P& parent_proto, const char* field_name, const F& field) { 133 void Visit(const P& parent_proto, const char* field_name, const F& field) {
134 VisitImpl(parent_proto, field_name, field); 134 VisitImpl(parent_proto, field_name, field);
135 } 135 }
136 136
(...skipping 24 matching lines...) Expand all
161 // EntitySpecifics 161 // EntitySpecifics
162 template <class P> 162 template <class P>
163 void Visit(const P& parent_proto, 163 void Visit(const P& parent_proto,
164 const char* field_name, 164 const char* field_name,
165 const sync_pb::EntitySpecifics& field) { 165 const sync_pb::EntitySpecifics& field) {
166 if (include_specifics_) { 166 if (include_specifics_) {
167 VisitImpl(parent_proto, field_name, field); 167 VisitImpl(parent_proto, field_name, field);
168 } 168 }
169 } 169 }
170 170
171 // EnhancedBookmarksFlags
172 template <class P>
173 void Visit(const P& parent_proto,
174 const char* field_name,
175 const sync_pb::EnhancedBookmarksFlags& field) {
176 // Obsolete, don't visit
177 }
178
179 // WalletSyncFlags
180 template <class P>
181 void Visit(const P& parent_proto,
182 const char* field_name,
183 const sync_pb::WalletSyncFlags& field) {
184 // Obsolete, don't visit
185 }
186
187 // PasswordSpecifics
188 std::unique_ptr<base::DictionaryValue> ToValue(
189 const sync_pb::PasswordSpecifics& proto) const {
190 auto value = ToValueImpl(proto);
191 value->Remove("client_only_encrypted_data", nullptr);
192 return value;
193 }
194
171 // PasswordSpecificsData 195 // PasswordSpecificsData
172 std::unique_ptr<base::DictionaryValue> ToValue( 196 std::unique_ptr<base::DictionaryValue> ToValue(
173 const sync_pb::PasswordSpecificsData& proto) const { 197 const sync_pb::PasswordSpecificsData& proto) const {
174 auto value = ToValueImpl(proto); 198 auto value = ToValueImpl(proto);
175 value->SetString("password_value", "<redacted>"); 199 value->SetString("password_value", "<redacted>");
176 return value; 200 return value;
177 } 201 }
178 202
179 // AutofillWalletSpecifics 203 // AutofillWalletSpecifics
180 std::unique_ptr<base::DictionaryValue> ToValue( 204 std::unique_ptr<base::DictionaryValue> ToValue(
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
238 } 262 }
239 std::unique_ptr<base::Value> ToValue(float value) const { 263 std::unique_ptr<base::Value> ToValue(float value) const {
240 return base::MakeUnique<base::FundamentalValue>(value); 264 return base::MakeUnique<base::FundamentalValue>(value);
241 } 265 }
242 std::unique_ptr<base::Value> ToValue(double value) const { 266 std::unique_ptr<base::Value> ToValue(double value) const {
243 return base::MakeUnique<base::FundamentalValue>(value); 267 return base::MakeUnique<base::FundamentalValue>(value);
244 } 268 }
245 269
246 // Needs to be here to see all ToValue() overloads above. 270 // Needs to be here to see all ToValue() overloads above.
247 template <class P, class F> 271 template <class P, class F>
248 void VisitImpl(P& proto, const char* field_name, const F& field) { 272 void VisitImpl(P&, const char* field_name, const F& field) {
249 value_->Set(field_name, ToValue(field)); 273 value_->Set(field_name, ToValue(field));
250 } 274 }
251 275
252 base::DictionaryValue* value_; 276 base::DictionaryValue* value_;
253 bool include_specifics_; 277 bool include_specifics_;
254 }; 278 };
255 279
256 } // namespace 280 } // namespace
257 281
258 #define IMPLEMENT_PROTO_TO_VALUE(Proto) \ 282 #define IMPLEMENT_PROTO_TO_VALUE(Proto) \
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
328 IMPLEMENT_PROTO_TO_VALUE(WifiCredentialSpecifics) 352 IMPLEMENT_PROTO_TO_VALUE(WifiCredentialSpecifics)
329 353
330 IMPLEMENT_PROTO_TO_VALUE_INCLUDE_SPECIFICS(ClientToServerMessage) 354 IMPLEMENT_PROTO_TO_VALUE_INCLUDE_SPECIFICS(ClientToServerMessage)
331 IMPLEMENT_PROTO_TO_VALUE_INCLUDE_SPECIFICS(ClientToServerResponse) 355 IMPLEMENT_PROTO_TO_VALUE_INCLUDE_SPECIFICS(ClientToServerResponse)
332 IMPLEMENT_PROTO_TO_VALUE_INCLUDE_SPECIFICS(SyncEntity) 356 IMPLEMENT_PROTO_TO_VALUE_INCLUDE_SPECIFICS(SyncEntity)
333 357
334 #undef IMPLEMENT_PROTO_TO_VALUE 358 #undef IMPLEMENT_PROTO_TO_VALUE
335 #undef IMPLEMENT_PROTO_TO_VALUE_INCLUDE_SPECIFICS 359 #undef IMPLEMENT_PROTO_TO_VALUE_INCLUDE_SPECIFICS
336 360
337 } // namespace syncer 361 } // namespace syncer
OLDNEW
« no previous file with comments | « components/sync/protocol/proto_memory_estimations.cc ('k') | components/sync/protocol/proto_value_conversions_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698