Index: chrome/browser/prefs/tracked/segregated_pref_store.cc |
diff --git a/chrome/browser/prefs/tracked/segregated_pref_store.cc b/chrome/browser/prefs/tracked/segregated_pref_store.cc |
index 13d5ecfaeedfa598de4bf57b29f3c87eb2897512..2c1db4523aace1dd257445700fffe20378c1c6e1 100644 |
--- a/chrome/browser/prefs/tracked/segregated_pref_store.cc |
+++ b/chrome/browser/prefs/tracked/segregated_pref_store.cc |
@@ -35,7 +35,6 @@ void SegregatedPrefStore::AggregatingObserver::OnInitializationCompleted( |
DCHECK_LE(failed_sub_initializations_ + successful_sub_initializations_, 2); |
if (failed_sub_initializations_ + successful_sub_initializations_ == 2) { |
- |
if (!outer_->on_initialization_.is_null()) |
outer_->on_initialization_.Run(); |
@@ -151,8 +150,8 @@ SegregatedPrefStore::~SegregatedPrefStore() { |
selected_pref_store_->RemoveObserver(&aggregating_observer_); |
} |
-const PersistentPrefStore* |
-SegregatedPrefStore::StoreForKey(const std::string& key) const { |
+const PersistentPrefStore* SegregatedPrefStore::StoreForKey( |
+ const std::string& key) const { |
if (ContainsKey(selected_preference_names_, key) || |
selected_pref_store_->GetValue(key, NULL)) { |
return selected_pref_store_.get(); |
@@ -170,12 +169,11 @@ PersistentPrefStore* SegregatedPrefStore::StoreForKey(const std::string& key) { |
// permit us to enumerate its contents. |
const base::Value* value = NULL; |
if (selected_pref_store_->GetValue(key, &value)) { |
- scoped_ptr<base::Value> migrated_value(value->DeepCopy()); |
- value = NULL; |
- default_pref_store_->SetValue(key, migrated_value.release()); |
+ default_pref_store_->SetValue(key, value->DeepCopy()); |
default_pref_store_->CommitPendingWrite(); |
gab
2014/04/02 17:02:15
Add a comment as to why this commit is required, i
erikwright (departed)
2014/04/03 13:25:47
Done.
|
+ |
+ value = NULL; |
gab
2014/04/02 17:02:15
Why even do this? It doesn't seem to matter that |
erikwright (departed)
2014/04/03 13:25:47
AfterRemoveValue, |value| is invalid.
If this 'if
gab
2014/04/03 15:47:13
Oh right, good point.
|
selected_pref_store_->RemoveValue(key); |
- selected_pref_store_->CommitPendingWrite(); |
} |
return default_pref_store_.get(); |