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

Side by Side Diff: extensions/browser/extension_pref_value_map.cc

Issue 598173003: Run clang-modernize -use-nullptr over src/extensions/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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 "extensions/browser/extension_pref_value_map.h" 5 #include "extensions/browser/extension_pref_value_map.h"
6 6
7 #include "base/prefs/pref_value_map.h" 7 #include "base/prefs/pref_value_map.h"
8 #include "base/stl_util.h" 8 #include "base/stl_util.h"
9 #include "base/values.h" 9 #include "base/values.h"
10 10
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 ExtensionEntryMap::const_iterator ext = entries_.find(extension_id); 73 ExtensionEntryMap::const_iterator ext = entries_.find(extension_id);
74 if (ext == entries_.end()) { 74 if (ext == entries_.end()) {
75 NOTREACHED(); 75 NOTREACHED();
76 return false; 76 return false;
77 } 77 }
78 78
79 if (incognito && !ext->second->incognito_enabled) 79 if (incognito && !ext->second->incognito_enabled)
80 return false; 80 return false;
81 81
82 ExtensionEntryMap::const_iterator winner = 82 ExtensionEntryMap::const_iterator winner =
83 GetEffectivePrefValueController(pref_key, incognito, NULL); 83 GetEffectivePrefValueController(pref_key, incognito, nullptr);
84 if (winner == entries_.end()) 84 if (winner == entries_.end())
85 return true; 85 return true;
86 86
87 return winner->second->install_time <= ext->second->install_time; 87 return winner->second->install_time <= ext->second->install_time;
88 } 88 }
89 89
90 void ExtensionPrefValueMap::ClearAllIncognitoSessionOnlyPreferences() { 90 void ExtensionPrefValueMap::ClearAllIncognitoSessionOnlyPreferences() {
91 typedef std::set<std::string> KeySet; 91 typedef std::set<std::string> KeySet;
92 KeySet deleted_keys; 92 KeySet deleted_keys;
93 93
94 ExtensionEntryMap::iterator i; 94 ExtensionEntryMap::iterator i;
95 for (i = entries_.begin(); i != entries_.end(); ++i) { 95 for (i = entries_.begin(); i != entries_.end(); ++i) {
96 PrefValueMap& inc_prefs = 96 PrefValueMap& inc_prefs =
97 i->second->incognito_profile_preferences_session_only; 97 i->second->incognito_profile_preferences_session_only;
98 PrefValueMap::iterator j; 98 PrefValueMap::iterator j;
99 for (j = inc_prefs.begin(); j != inc_prefs.end(); ++j) 99 for (j = inc_prefs.begin(); j != inc_prefs.end(); ++j)
100 deleted_keys.insert(j->first); 100 deleted_keys.insert(j->first);
101 inc_prefs.Clear(); 101 inc_prefs.Clear();
102 } 102 }
103 103
104 KeySet::iterator k; 104 KeySet::iterator k;
105 for (k = deleted_keys.begin(); k != deleted_keys.end(); ++k) 105 for (k = deleted_keys.begin(); k != deleted_keys.end(); ++k)
106 NotifyPrefValueChanged(*k); 106 NotifyPrefValueChanged(*k);
107 } 107 }
108 108
109 bool ExtensionPrefValueMap::DoesExtensionControlPref( 109 bool ExtensionPrefValueMap::DoesExtensionControlPref(
110 const std::string& extension_id, 110 const std::string& extension_id,
111 const std::string& pref_key, 111 const std::string& pref_key,
112 bool* from_incognito) const { 112 bool* from_incognito) const {
113 bool incognito = (from_incognito != NULL); 113 bool incognito = (from_incognito != nullptr);
114 ExtensionEntryMap::const_iterator winner = 114 ExtensionEntryMap::const_iterator winner =
115 GetEffectivePrefValueController(pref_key, incognito, from_incognito); 115 GetEffectivePrefValueController(pref_key, incognito, from_incognito);
116 if (winner == entries_.end()) 116 if (winner == entries_.end())
117 return false; 117 return false;
118 return winner->first == extension_id; 118 return winner->first == extension_id;
119 } 119 }
120 120
121 void ExtensionPrefValueMap::RegisterExtension(const std::string& ext_id, 121 void ExtensionPrefValueMap::RegisterExtension(const std::string& ext_id,
122 const base::Time& install_time, 122 const base::Time& install_time,
123 bool is_enabled, 123 bool is_enabled,
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
186 case extensions::kExtensionPrefsScopeRegular: 186 case extensions::kExtensionPrefsScopeRegular:
187 return &(i->second->regular_profile_preferences); 187 return &(i->second->regular_profile_preferences);
188 case extensions::kExtensionPrefsScopeRegularOnly: 188 case extensions::kExtensionPrefsScopeRegularOnly:
189 return &(i->second->regular_only_profile_preferences); 189 return &(i->second->regular_only_profile_preferences);
190 case extensions::kExtensionPrefsScopeIncognitoPersistent: 190 case extensions::kExtensionPrefsScopeIncognitoPersistent:
191 return &(i->second->incognito_profile_preferences_persistent); 191 return &(i->second->incognito_profile_preferences_persistent);
192 case extensions::kExtensionPrefsScopeIncognitoSessionOnly: 192 case extensions::kExtensionPrefsScopeIncognitoSessionOnly:
193 return &(i->second->incognito_profile_preferences_session_only); 193 return &(i->second->incognito_profile_preferences_session_only);
194 } 194 }
195 NOTREACHED(); 195 NOTREACHED();
196 return NULL; 196 return nullptr;
197 } 197 }
198 198
199 const PrefValueMap* ExtensionPrefValueMap::GetExtensionPrefValueMap( 199 const PrefValueMap* ExtensionPrefValueMap::GetExtensionPrefValueMap(
200 const std::string& ext_id, 200 const std::string& ext_id,
201 ExtensionPrefsScope scope) const { 201 ExtensionPrefsScope scope) const {
202 ExtensionEntryMap::const_iterator i = entries_.find(ext_id); 202 ExtensionEntryMap::const_iterator i = entries_.find(ext_id);
203 CHECK(i != entries_.end()); 203 CHECK(i != entries_.end());
204 switch (scope) { 204 switch (scope) {
205 case extensions::kExtensionPrefsScopeRegular: 205 case extensions::kExtensionPrefsScopeRegular:
206 return &(i->second->regular_profile_preferences); 206 return &(i->second->regular_profile_preferences);
207 case extensions::kExtensionPrefsScopeRegularOnly: 207 case extensions::kExtensionPrefsScopeRegularOnly:
208 return &(i->second->regular_only_profile_preferences); 208 return &(i->second->regular_only_profile_preferences);
209 case extensions::kExtensionPrefsScopeIncognitoPersistent: 209 case extensions::kExtensionPrefsScopeIncognitoPersistent:
210 return &(i->second->incognito_profile_preferences_persistent); 210 return &(i->second->incognito_profile_preferences_persistent);
211 case extensions::kExtensionPrefsScopeIncognitoSessionOnly: 211 case extensions::kExtensionPrefsScopeIncognitoSessionOnly:
212 return &(i->second->incognito_profile_preferences_session_only); 212 return &(i->second->incognito_profile_preferences_session_only);
213 } 213 }
214 NOTREACHED(); 214 NOTREACHED();
215 return NULL; 215 return nullptr;
216 } 216 }
217 217
218 void ExtensionPrefValueMap::GetExtensionControlledKeys( 218 void ExtensionPrefValueMap::GetExtensionControlledKeys(
219 const ExtensionEntry& entry, 219 const ExtensionEntry& entry,
220 std::set<std::string>* out) const { 220 std::set<std::string>* out) const {
221 PrefValueMap::const_iterator i; 221 PrefValueMap::const_iterator i;
222 222
223 const PrefValueMap& regular_prefs = entry.regular_profile_preferences; 223 const PrefValueMap& regular_prefs = entry.regular_profile_preferences;
224 for (i = regular_prefs.begin(); i != regular_prefs.end(); ++i) 224 for (i = regular_prefs.begin(); i != regular_prefs.end(); ++i)
225 out->insert(i->first); 225 out->insert(i->first);
(...skipping 14 matching lines...) Expand all
240 out->insert(i->first); 240 out->insert(i->first);
241 } 241 }
242 242
243 const base::Value* ExtensionPrefValueMap::GetEffectivePrefValue( 243 const base::Value* ExtensionPrefValueMap::GetEffectivePrefValue(
244 const std::string& key, 244 const std::string& key,
245 bool incognito, 245 bool incognito,
246 bool* from_incognito) const { 246 bool* from_incognito) const {
247 ExtensionEntryMap::const_iterator winner = 247 ExtensionEntryMap::const_iterator winner =
248 GetEffectivePrefValueController(key, incognito, from_incognito); 248 GetEffectivePrefValueController(key, incognito, from_incognito);
249 if (winner == entries_.end()) 249 if (winner == entries_.end())
250 return NULL; 250 return nullptr;
251 251
252 const base::Value* value = NULL; 252 const base::Value* value = nullptr;
253 const std::string& ext_id = winner->first; 253 const std::string& ext_id = winner->first;
254 254
255 // First search for incognito session only preferences. 255 // First search for incognito session only preferences.
256 if (incognito) { 256 if (incognito) {
257 DCHECK(winner->second->incognito_enabled); 257 DCHECK(winner->second->incognito_enabled);
258 const PrefValueMap* prefs = GetExtensionPrefValueMap( 258 const PrefValueMap* prefs = GetExtensionPrefValueMap(
259 ext_id, extensions::kExtensionPrefsScopeIncognitoSessionOnly); 259 ext_id, extensions::kExtensionPrefsScopeIncognitoSessionOnly);
260 prefs->GetValue(key, &value); 260 prefs->GetValue(key, &value);
261 if (value) 261 if (value)
262 return value; 262 return value;
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
300 const bool enabled = i->second->enabled; 300 const bool enabled = i->second->enabled;
301 const bool incognito_enabled = i->second->incognito_enabled; 301 const bool incognito_enabled = i->second->incognito_enabled;
302 302
303 if (!enabled) 303 if (!enabled)
304 continue; 304 continue;
305 if (install_time < winners_install_time) 305 if (install_time < winners_install_time)
306 continue; 306 continue;
307 if (incognito && !incognito_enabled) 307 if (incognito && !incognito_enabled)
308 continue; 308 continue;
309 309
310 const base::Value* value = NULL; 310 const base::Value* value = nullptr;
311 const PrefValueMap* prefs = GetExtensionPrefValueMap( 311 const PrefValueMap* prefs = GetExtensionPrefValueMap(
312 ext_id, extensions::kExtensionPrefsScopeRegular); 312 ext_id, extensions::kExtensionPrefsScopeRegular);
313 if (prefs->GetValue(key, &value)) { 313 if (prefs->GetValue(key, &value)) {
314 winner = i; 314 winner = i;
315 winners_install_time = install_time; 315 winners_install_time = install_time;
316 if (from_incognito) 316 if (from_incognito)
317 *from_incognito = false; 317 *from_incognito = false;
318 } 318 }
319 319
320 if (!incognito) { 320 if (!incognito) {
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
367 } 367 }
368 368
369 void ExtensionPrefValueMap::RemoveObserver( 369 void ExtensionPrefValueMap::RemoveObserver(
370 ExtensionPrefValueMap::Observer* observer) { 370 ExtensionPrefValueMap::Observer* observer) {
371 observers_.RemoveObserver(observer); 371 observers_.RemoveObserver(observer);
372 } 372 }
373 373
374 std::string ExtensionPrefValueMap::GetExtensionControllingPref( 374 std::string ExtensionPrefValueMap::GetExtensionControllingPref(
375 const std::string& pref_key) const { 375 const std::string& pref_key) const {
376 ExtensionEntryMap::const_iterator winner = 376 ExtensionEntryMap::const_iterator winner =
377 GetEffectivePrefValueController(pref_key, false, NULL); 377 GetEffectivePrefValueController(pref_key, false, nullptr);
378 if (winner == entries_.end()) 378 if (winner == entries_.end())
379 return std::string(); 379 return std::string();
380 return winner->first; 380 return winner->first;
381 } 381 }
382 382
383 void ExtensionPrefValueMap::NotifyInitializationCompleted() { 383 void ExtensionPrefValueMap::NotifyInitializationCompleted() {
384 FOR_EACH_OBSERVER(ExtensionPrefValueMap::Observer, observers_, 384 FOR_EACH_OBSERVER(ExtensionPrefValueMap::Observer, observers_,
385 OnInitializationCompleted()); 385 OnInitializationCompleted());
386 } 386 }
387 387
388 void ExtensionPrefValueMap::NotifyPrefValueChanged( 388 void ExtensionPrefValueMap::NotifyPrefValueChanged(
389 const std::set<std::string>& keys) { 389 const std::set<std::string>& keys) {
390 std::set<std::string>::const_iterator i; 390 std::set<std::string>::const_iterator i;
391 for (i = keys.begin(); i != keys.end(); ++i) 391 for (i = keys.begin(); i != keys.end(); ++i)
392 NotifyPrefValueChanged(*i); 392 NotifyPrefValueChanged(*i);
393 } 393 }
394 394
395 void ExtensionPrefValueMap::NotifyPrefValueChanged(const std::string& key) { 395 void ExtensionPrefValueMap::NotifyPrefValueChanged(const std::string& key) {
396 FOR_EACH_OBSERVER(ExtensionPrefValueMap::Observer, observers_, 396 FOR_EACH_OBSERVER(ExtensionPrefValueMap::Observer, observers_,
397 OnPrefValueChanged(key)); 397 OnPrefValueChanged(key));
398 } 398 }
399 399
400 void ExtensionPrefValueMap::NotifyOfDestruction() { 400 void ExtensionPrefValueMap::NotifyOfDestruction() {
401 FOR_EACH_OBSERVER(ExtensionPrefValueMap::Observer, observers_, 401 FOR_EACH_OBSERVER(ExtensionPrefValueMap::Observer, observers_,
402 OnExtensionPrefValueMapDestruction()); 402 OnExtensionPrefValueMapDestruction());
403 } 403 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698