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

Side by Side Diff: chrome/browser/safe_browsing/incident_reporting/platform_state_store.cc

Issue 2845113002: Remove raw base::DictionaryValue::SetWithoutPathExpansion in //chrome (Closed)
Patch Set: Address comments Created 3 years, 7 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 // This file implements the platform-neutral Load() and Store() functions for a 5 // This file implements the platform-neutral Load() and Store() functions for a
6 // profile's safebrowsing.incidents_sent preference dictionary. The preference 6 // profile's safebrowsing.incidents_sent preference dictionary. The preference
7 // dict is converted to a protocol buffer message which is then serialized into 7 // dict is converted to a protocol buffer message which is then serialized into
8 // a byte array. This serialized data is written to or read from some 8 // a byte array. This serialized data is written to or read from some
9 // platform-specific storage via {Read,Write}StoreData implemented elsewhere. 9 // platform-specific storage via {Read,Write}StoreData implemented elsewhere.
10 // 10 //
11 // A pref dict like so: 11 // A pref dict like so:
12 // { "0": {"key1": "1235"}, {"key2": "6789"}}} 12 // { "0": {"key1": "1235"}, {"key2": "6789"}}}
13 // is converted to an identical protocol buffer message, where the top-level 13 // is converted to an identical protocol buffer message, where the top-level
14 // mapping's keys are of type int, and the nested mappings' values are of type 14 // mapping's keys are of type int, and the nested mappings' values are of type
15 // uint32_t. 15 // uint32_t.
16 16
17 #include "chrome/browser/safe_browsing/incident_reporting/platform_state_store.h " 17 #include "chrome/browser/safe_browsing/incident_reporting/platform_state_store.h "
18 18
19 #include "base/memory/ptr_util.h"
19 #include "base/values.h" 20 #include "base/values.h"
20 21
21 #if defined(USE_PLATFORM_STATE_STORE) 22 #if defined(USE_PLATFORM_STATE_STORE)
22 23
23 #include "base/metrics/histogram_macros.h" 24 #include "base/metrics/histogram_macros.h"
24 #include "base/strings/string_number_conversions.h" 25 #include "base/strings/string_number_conversions.h"
25 #include "chrome/browser/safe_browsing/incident_reporting/state_store_data.pb.h" 26 #include "chrome/browser/safe_browsing/incident_reporting/state_store_data.pb.h"
26 #include "third_party/protobuf/src/google/protobuf/repeated_field.h" 27 #include "third_party/protobuf/src/google/protobuf/repeated_field.h"
27 28
28 #endif // USE_PLATFORM_STATE_STORE 29 #endif // USE_PLATFORM_STATE_STORE
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 base::DictionaryValue* value_dict) { 109 base::DictionaryValue* value_dict) {
109 for (const auto& type_incidents : type_incidents_pairs) { 110 for (const auto& type_incidents : type_incidents_pairs) {
110 if (!type_incidents.has_type() || !type_incidents.has_incidents() || 111 if (!type_incidents.has_type() || !type_incidents.has_incidents() ||
111 type_incidents.incidents().key_to_digest_size() == 0) { 112 type_incidents.incidents().key_to_digest_size() == 0) {
112 continue; 113 continue;
113 } 114 }
114 std::string type_string(base::IntToString(type_incidents.type())); 115 std::string type_string(base::IntToString(type_incidents.type()));
115 base::DictionaryValue* type_dict = nullptr; 116 base::DictionaryValue* type_dict = nullptr;
116 if (!value_dict->GetDictionaryWithoutPathExpansion(type_string, 117 if (!value_dict->GetDictionaryWithoutPathExpansion(type_string,
117 &type_dict)) { 118 &type_dict)) {
118 type_dict = new base::DictionaryValue(); 119 type_dict = value_dict->SetDictionaryWithoutPathExpansion(
119 value_dict->SetWithoutPathExpansion(type_string, type_dict); 120 type_string, base::MakeUnique<base::DictionaryValue>());
120 } 121 }
121 RestoreOfTypeFromProtobuf(type_incidents.incidents().key_to_digest(), 122 RestoreOfTypeFromProtobuf(type_incidents.incidents().key_to_digest(),
122 type_dict); 123 type_dict);
123 } 124 }
124 } 125 }
125 126
126 } // namespace 127 } // namespace
127 128
128 #endif // USE_PLATFORM_STATE_STORE 129 #endif // USE_PLATFORM_STATE_STORE
129 130
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 return PlatformStateStoreLoadResult::PARSE_ERROR; 194 return PlatformStateStoreLoadResult::PARSE_ERROR;
194 value_dict->Clear(); 195 value_dict->Clear();
195 RestoreFromProtobuf(store_data.type_to_incidents(), value_dict); 196 RestoreFromProtobuf(store_data.type_to_incidents(), value_dict);
196 return PlatformStateStoreLoadResult::SUCCESS; 197 return PlatformStateStoreLoadResult::SUCCESS;
197 } 198 }
198 199
199 #endif // USE_PLATFORM_STATE_STORE 200 #endif // USE_PLATFORM_STATE_STORE
200 201
201 } // namespace platform_state_store 202 } // namespace platform_state_store
202 } // namespace safe_browsing 203 } // namespace safe_browsing
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698