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

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

Issue 1870003002: Convert //chrome/browser/safe_browsing from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase and address comments 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 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 #include "chrome/browser/safe_browsing/incident_reporting/state_store.h" 5 #include "chrome/browser/safe_browsing/incident_reporting/state_store.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/metrics/histogram_macros.h" 9 #include "base/metrics/histogram_macros.h"
10 #include "base/strings/string_number_conversions.h" 10 #include "base/strings/string_number_conversions.h"
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 store_->profile_->GetPrefs(), prefs::kSafeBrowsingIncidentsSent)); 97 store_->profile_->GetPrefs(), prefs::kSafeBrowsingIncidentsSent));
98 // Getting the dict will cause it to be created if it doesn't exist. 98 // Getting the dict will cause it to be created if it doesn't exist.
99 // Unconditionally refresh the store's read-only view on the preference so 99 // Unconditionally refresh the store's read-only view on the preference so
100 // that it will always be correct. 100 // that it will always be correct.
101 store_->incidents_sent_ = pref_update_->Get(); 101 store_->incidents_sent_ = pref_update_->Get();
102 } 102 }
103 return pref_update_->Get(); 103 return pref_update_->Get();
104 } 104 }
105 105
106 void StateStore::Transaction::ReplacePrefDict( 106 void StateStore::Transaction::ReplacePrefDict(
107 scoped_ptr<base::DictionaryValue> pref_dict) { 107 std::unique_ptr<base::DictionaryValue> pref_dict) {
108 GetPrefDict()->Swap(pref_dict.get()); 108 GetPrefDict()->Swap(pref_dict.get());
109 } 109 }
110 110
111 111
112 // StateStore ------------------------------------------------------------------ 112 // StateStore ------------------------------------------------------------------
113 113
114 StateStore::StateStore(Profile* profile) 114 StateStore::StateStore(Profile* profile)
115 : profile_(profile), 115 : profile_(profile),
116 incidents_sent_(nullptr) 116 incidents_sent_(nullptr)
117 #if DCHECK_IS_ON() 117 #if DCHECK_IS_ON()
118 , 118 ,
119 has_transaction_(false) 119 has_transaction_(false)
120 #endif 120 #endif
121 { 121 {
122 // Cache a read-only view of the preference. 122 // Cache a read-only view of the preference.
123 const base::Value* value = 123 const base::Value* value =
124 profile_->GetPrefs()->GetUserPrefValue(prefs::kSafeBrowsingIncidentsSent); 124 profile_->GetPrefs()->GetUserPrefValue(prefs::kSafeBrowsingIncidentsSent);
125 if (value) 125 if (value)
126 value->GetAsDictionary(&incidents_sent_); 126 value->GetAsDictionary(&incidents_sent_);
127 127
128 // Apply the platform data. 128 // Apply the platform data.
129 Transaction transaction(this); 129 Transaction transaction(this);
130 scoped_ptr<base::DictionaryValue> value_dict( 130 std::unique_ptr<base::DictionaryValue> value_dict(
131 platform_state_store::Load(profile_)); 131 platform_state_store::Load(profile_));
132 132
133 InitializationResult state_store_init_result = PSS_MATCHES; 133 InitializationResult state_store_init_result = PSS_MATCHES;
134 if (!value_dict) { 134 if (!value_dict) {
135 state_store_init_result = PSS_NULL; 135 state_store_init_result = PSS_NULL;
136 } else if (value_dict->empty()) { 136 } else if (value_dict->empty()) {
137 if (incidents_sent_ && !incidents_sent_->empty()) 137 if (incidents_sent_ && !incidents_sent_->empty())
138 state_store_init_result = PSS_EMPTY; 138 state_store_init_result = PSS_EMPTY;
139 transaction.ClearAll(); 139 transaction.ClearAll();
140 } else if (!incidents_sent_ || !incidents_sent_->Equals(value_dict.get())) { 140 } else if (!incidents_sent_ || !incidents_sent_->Equals(value_dict.get())) {
(...skipping 28 matching lines...) Expand all
169 static const IncidentType kLegacyTypes[] = { 169 static const IncidentType kLegacyTypes[] = {
170 // TODO(grt): remove in M44 (crbug.com/451173). 170 // TODO(grt): remove in M44 (crbug.com/451173).
171 IncidentType::OMNIBOX_INTERACTION, 171 IncidentType::OMNIBOX_INTERACTION,
172 }; 172 };
173 173
174 for (IncidentType type : kLegacyTypes) 174 for (IncidentType type : kLegacyTypes)
175 transaction->ClearForType(type); 175 transaction->ClearForType(type);
176 } 176 }
177 177
178 } // namespace safe_browsing 178 } // namespace safe_browsing
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698