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

Side by Side Diff: chrome/browser/content_settings/content_settings_pref_provider.cc

Issue 7149017: Cleanup OriginIdentifierValueMap code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: " Created 9 years, 6 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/content_settings/content_settings_pref_provider.h" 5 #include "chrome/browser/content_settings/content_settings_pref_provider.h"
6 6
7 #include <string> 7 #include <string>
8 #include <utility> 8 #include <utility>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 584 matching lines...) Expand 10 before | Expand all | Expand 10 after
595 ContentSettingsDetails details( 595 ContentSettingsDetails details(
596 requesting_pattern, content_type, std::string()); 596 requesting_pattern, content_type, std::string());
597 NotifyObservers(details); 597 NotifyObservers(details);
598 } 598 }
599 599
600 void PrefProvider::ResetToDefaults() { 600 void PrefProvider::ResetToDefaults() {
601 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 601 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
602 602
603 { 603 {
604 base::AutoLock auto_lock(lock_); 604 base::AutoLock auto_lock(lock_);
605 value_map_.Clear(); 605 value_map_.clear();
606 incognito_value_map_.Clear(); 606 incognito_value_map_.clear();
607 } 607 }
608 608
609 if (!is_incognito_) { 609 if (!is_incognito_) {
610 PrefService* prefs = profile_->GetPrefs(); 610 PrefService* prefs = profile_->GetPrefs();
611 updating_preferences_ = true; 611 updating_preferences_ = true;
612 prefs->ClearPref(prefs::kContentSettingsPatterns); 612 prefs->ClearPref(prefs::kContentSettingsPatterns);
613 updating_preferences_ = false; 613 updating_preferences_ = false;
614 } 614 }
615 } 615 }
616 616
(...skipping 15 matching lines...) Expand all
632 632
633 { 633 {
634 base::AutoLock auto_lock(lock_); 634 base::AutoLock auto_lock(lock_);
635 635
636 OriginIdentifierValueMap::iterator entry(map_to_modify->begin()); 636 OriginIdentifierValueMap::iterator entry(map_to_modify->begin());
637 while (entry != map_to_modify->end()) { 637 while (entry != map_to_modify->end()) {
638 if (entry->content_type == content_type) { 638 if (entry->content_type == content_type) {
639 std::string pattern_str = CreatePatternString( 639 std::string pattern_str = CreatePatternString(
640 entry->item_pattern, entry->top_level_frame_pattern); 640 entry->item_pattern, entry->top_level_frame_pattern);
641 // Delete current |entry| and set |entry| to the next value map entry. 641 // Delete current |entry| and set |entry| to the next value map entry.
642 entry = map_to_modify->DeleteValue(entry); 642 entry = map_to_modify->erase(entry);
643 643
644 // Update the content settings preference. 644 // Update the content settings preference.
645 if (all_settings_dictionary) { 645 if (all_settings_dictionary) {
646 // Update the settings dictionary. 646 // Update the settings dictionary.
647 DictionaryValue* settings_dictionary; 647 DictionaryValue* settings_dictionary;
648 bool found = 648 bool found =
649 all_settings_dictionary->GetDictionaryWithoutPathExpansion( 649 all_settings_dictionary->GetDictionaryWithoutPathExpansion(
650 pattern_str, &settings_dictionary); 650 pattern_str, &settings_dictionary);
651 DCHECK(found); 651 DCHECK(found);
652 settings_dictionary->RemoveWithoutPathExpansion( 652 settings_dictionary->RemoveWithoutPathExpansion(
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
711 // Private 711 // Private
712 712
713 void PrefProvider::ReadExceptions(bool overwrite) { 713 void PrefProvider::ReadExceptions(bool overwrite) {
714 base::AutoLock auto_lock(lock_); 714 base::AutoLock auto_lock(lock_);
715 715
716 PrefService* prefs = profile_->GetPrefs(); 716 PrefService* prefs = profile_->GetPrefs();
717 const DictionaryValue* all_settings_dictionary = 717 const DictionaryValue* all_settings_dictionary =
718 prefs->GetDictionary(prefs::kContentSettingsPatterns); 718 prefs->GetDictionary(prefs::kContentSettingsPatterns);
719 719
720 if (overwrite) 720 if (overwrite)
721 value_map_.Clear(); 721 value_map_.clear();
722 722
723 updating_preferences_ = true; 723 updating_preferences_ = true;
724 // Careful: The returned value could be NULL if the pref has never been set. 724 // Careful: The returned value could be NULL if the pref has never been set.
725 if (all_settings_dictionary != NULL) { 725 if (all_settings_dictionary != NULL) {
726 DictionaryPrefUpdate update(prefs, prefs::kContentSettingsPatterns); 726 DictionaryPrefUpdate update(prefs, prefs::kContentSettingsPatterns);
727 DictionaryValue* mutable_settings; 727 DictionaryValue* mutable_settings;
728 scoped_ptr<DictionaryValue> mutable_settings_scope; 728 scoped_ptr<DictionaryValue> mutable_settings_scope;
729 729
730 if (!is_incognito_) { 730 if (!is_incognito_) {
731 mutable_settings = update.Get(); 731 mutable_settings = update.Get();
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
945 ContentSettingsPattern::FromString(host), 945 ContentSettingsPattern::FromString(host),
946 CONTENT_SETTINGS_TYPE_POPUPS, 946 CONTENT_SETTINGS_TYPE_POPUPS,
947 "", 947 "",
948 CONTENT_SETTING_ALLOW); 948 CONTENT_SETTING_ALLOW);
949 } 949 }
950 prefs->ClearPref(prefs::kPopupWhitelistedHosts); 950 prefs->ClearPref(prefs::kPopupWhitelistedHosts);
951 } 951 }
952 } 952 }
953 953
954 } // namespace content_settings 954 } // namespace content_settings
OLDNEW
« no previous file with comments | « chrome/browser/content_settings/content_settings_origin_identifier_value_map_unittest.cc ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698