diff options
author | pneubeck@chromium.org <pneubeck@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-26 23:58:14 +0000 |
---|---|---|
committer | pneubeck@chromium.org <pneubeck@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-26 23:58:14 +0000 |
commit | a703e71ecc392ca01fb72d01f91129d347f24a7b (patch) | |
tree | 0a61875ef80c65a5f0ee5e7dcdbddc3ddd151ab3 | |
parent | bf1b47a25e4d6af77e24344e99c794b68998be82 (diff) | |
download | chromium_src-a703e71ecc392ca01fb72d01f91129d347f24a7b.zip chromium_src-a703e71ecc392ca01fb72d01f91129d347f24a7b.tar.gz chromium_src-a703e71ecc392ca01fb72d01f91129d347f24a7b.tar.bz2 |
Replacing DictionaryValue::key_iterator by DictionaryValue::Iterator in several folders in chrome/browser.
This is one of several CLs of a larger refactoring that prepares for the removal of key_iterator.
BUG=162611
Review URL: https://chromiumcodereview.appspot.com/12321109
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@184779 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/devtools/devtools_file_helper.cc | 6 | ||||
-rw-r--r-- | chrome/browser/geolocation/chrome_access_token_store.cc | 11 | ||||
-rw-r--r-- | chrome/browser/metrics/metrics_log.cc | 77 | ||||
-rw-r--r-- | chrome/browser/themes/browser_theme_pack.cc | 41 | ||||
-rw-r--r-- | chrome/browser/translate/translate_manager.cc | 7 | ||||
-rw-r--r-- | chrome/browser/translate/translate_prefs.cc | 20 | ||||
-rw-r--r-- | chrome/browser/ui/cocoa/applescript/apple_event_util.mm | 17 | ||||
-rw-r--r-- | chrome/browser/ui/webui/performance_monitor/performance_monitor_handler.cc | 22 |
8 files changed, 97 insertions, 104 deletions
diff --git a/chrome/browser/devtools/devtools_file_helper.cc b/chrome/browser/devtools/devtools_file_helper.cc index 6e8856d..3d5d16d 100644 --- a/chrome/browser/devtools/devtools_file_helper.cc +++ b/chrome/browser/devtools/devtools_file_helper.cc @@ -353,9 +353,9 @@ void DevToolsFileHelper::RequestFileSystems( const DictionaryValue* file_systems_paths_value = profile_->GetPrefs()->GetDictionary(prefs::kDevToolsFileSystemPaths); std::vector<base::FilePath> saved_paths; - DictionaryValue::key_iterator it = file_systems_paths_value->begin_keys(); - for (; it != file_systems_paths_value->end_keys(); ++it) { - std::string file_system_path = *it; + for (DictionaryValue::Iterator it(*file_systems_paths_value); !it.IsAtEnd(); + it.Advance()) { + std::string file_system_path = it.key(); base::FilePath path = base::FilePath::FromUTF8Unsafe(file_system_path); saved_paths.push_back(path); } diff --git a/chrome/browser/geolocation/chrome_access_token_store.cc b/chrome/browser/geolocation/chrome_access_token_store.cc index 7007abe5..5e212ef 100644 --- a/chrome/browser/geolocation/chrome_access_token_store.cc +++ b/chrome/browser/geolocation/chrome_access_token_store.cc @@ -67,17 +67,16 @@ class TokenLoadingJob : public base::RefCountedThreadSafe<TokenLoadingJob> { std::vector<std::string> providers_to_remove; // The dictionary value could be NULL if the pref has never been set. if (token_dictionary != NULL) { - for (DictionaryValue::key_iterator it = token_dictionary->begin_keys(); - it != token_dictionary->end_keys(); ++it) { - GURL url(*it); + for (DictionaryValue::Iterator it(*token_dictionary); !it.IsAtEnd(); + it.Advance()) { + GURL url(it.key()); if (!url.is_valid()) continue; if (IsUnsupportedNetworkProviderUrl(url)) { - providers_to_remove.push_back(*it); + providers_to_remove.push_back(it.key()); continue; } - token_dictionary->GetStringWithoutPathExpansion( - *it, &access_token_set_[url]); + it.value().GetAsString(&access_token_set_[url]); } for (size_t i = 0; i < providers_to_remove.size(); ++i) { token_dictionary->RemoveWithoutPathExpansion( diff --git a/chrome/browser/metrics/metrics_log.cc b/chrome/browser/metrics/metrics_log.cc index e3c6fa3..6cf30e3 100644 --- a/chrome/browser/metrics/metrics_log.cc +++ b/chrome/browser/metrics/metrics_log.cc @@ -910,14 +910,12 @@ void MetricsLog::RecordProfilerData( void MetricsLog::WriteAllProfilesMetrics( const DictionaryValue& all_profiles_metrics) { const std::string profile_prefix(prefs::kProfilePrefix); - for (DictionaryValue::key_iterator i = all_profiles_metrics.begin_keys(); - i != all_profiles_metrics.end_keys(); ++i) { - const std::string& key_name = *i; - if (key_name.compare(0, profile_prefix.size(), profile_prefix) == 0) { + for (DictionaryValue::Iterator i(all_profiles_metrics); !i.IsAtEnd(); + i.Advance()) { + if (i.key().compare(0, profile_prefix.size(), profile_prefix) == 0) { const DictionaryValue* profile; - if (all_profiles_metrics.GetDictionaryWithoutPathExpansion(key_name, - &profile)) - WriteProfileMetrics(key_name.substr(profile_prefix.size()), *profile); + if (i.value().GetAsDictionary(&profile)) + WriteProfileMetrics(i.key().substr(profile_prefix.size()), *profile); } } } @@ -926,46 +924,43 @@ void MetricsLog::WriteProfileMetrics(const std::string& profileidhash, const DictionaryValue& profile_metrics) { OPEN_ELEMENT_FOR_SCOPE("userprofile"); WriteAttribute("profileidhash", profileidhash); - for (DictionaryValue::key_iterator i = profile_metrics.begin_keys(); - i != profile_metrics.end_keys(); ++i) { - const Value* value; - if (profile_metrics.GetWithoutPathExpansion(*i, &value)) { - DCHECK_NE(*i, "id"); - switch (value->GetType()) { - case Value::TYPE_STRING: { - std::string string_value; - if (value->GetAsString(&string_value)) { - OPEN_ELEMENT_FOR_SCOPE("profileparam"); - WriteAttribute("name", *i); - WriteAttribute("value", string_value); - } - break; + for (DictionaryValue::Iterator i(profile_metrics); !i.IsAtEnd(); + i.Advance()) { + DCHECK_NE(i.key(), "id"); + switch (i.value().GetType()) { + case Value::TYPE_STRING: { + std::string string_value; + if (i.value().GetAsString(&string_value)) { + OPEN_ELEMENT_FOR_SCOPE("profileparam"); + WriteAttribute("name", i.key()); + WriteAttribute("value", string_value); } + break; + } - case Value::TYPE_BOOLEAN: { - bool bool_value; - if (value->GetAsBoolean(&bool_value)) { - OPEN_ELEMENT_FOR_SCOPE("profileparam"); - WriteAttribute("name", *i); - WriteIntAttribute("value", bool_value ? 1 : 0); - } - break; + case Value::TYPE_BOOLEAN: { + bool bool_value; + if (i.value().GetAsBoolean(&bool_value)) { + OPEN_ELEMENT_FOR_SCOPE("profileparam"); + WriteAttribute("name", i.key()); + WriteIntAttribute("value", bool_value ? 1 : 0); } + break; + } - case Value::TYPE_INTEGER: { - int int_value; - if (value->GetAsInteger(&int_value)) { - OPEN_ELEMENT_FOR_SCOPE("profileparam"); - WriteAttribute("name", *i); - WriteIntAttribute("value", int_value); - } - break; + case Value::TYPE_INTEGER: { + int int_value; + if (i.value().GetAsInteger(&int_value)) { + OPEN_ELEMENT_FOR_SCOPE("profileparam"); + WriteAttribute("name", i.key()); + WriteIntAttribute("value", int_value); } - - default: - NOTREACHED(); - break; + break; } + + default: + NOTREACHED(); + break; } } } diff --git a/chrome/browser/themes/browser_theme_pack.cc b/chrome/browser/themes/browser_theme_pack.cc index d6e18ce..995e727 100644 --- a/chrome/browser/themes/browser_theme_pack.cc +++ b/chrome/browser/themes/browser_theme_pack.cc @@ -752,17 +752,17 @@ void BrowserThemePack::BuildTintsFromJSON(DictionaryValue* tints_value) { // Parse the incoming data from |tints_value| into an intermediary structure. std::map<int, color_utils::HSL> temp_tints; - for (DictionaryValue::key_iterator iter(tints_value->begin_keys()); - iter != tints_value->end_keys(); ++iter) { - ListValue* tint_list; - if (tints_value->GetList(*iter, &tint_list) && + for (DictionaryValue::Iterator iter(*tints_value); !iter.IsAtEnd(); + iter.Advance()) { + const ListValue* tint_list; + if (iter.value().GetAsList(&tint_list) && (tint_list->GetSize() == 3)) { color_utils::HSL hsl = { -1, -1, -1 }; if (tint_list->GetDouble(0, &hsl.h) && tint_list->GetDouble(1, &hsl.s) && tint_list->GetDouble(2, &hsl.l)) { - int id = GetIntForString(*iter, kTintTable, kTintTableLength); + int id = GetIntForString(iter.key(), kTintTable, kTintTableLength); if (id != -1) { temp_tints[id] = hsl; } @@ -808,10 +808,10 @@ void BrowserThemePack::ReadColorsFromJSON( DictionaryValue* colors_value, std::map<int, SkColor>* temp_colors) { // Parse the incoming data from |colors_value| into an intermediary structure. - for (DictionaryValue::key_iterator iter(colors_value->begin_keys()); - iter != colors_value->end_keys(); ++iter) { - ListValue* color_list; - if (colors_value->GetList(*iter, &color_list) && + for (DictionaryValue::Iterator iter(*colors_value); !iter.IsAtEnd(); + iter.Advance()) { + const ListValue* color_list; + if (iter.value().GetAsList(&color_list) && ((color_list->GetSize() == 3) || (color_list->GetSize() == 4))) { SkColor color = SK_ColorWHITE; int r, g, b; @@ -834,7 +834,7 @@ void BrowserThemePack::ReadColorsFromJSON( color = SkColorSetRGB(r, g, b); } - int id = GetIntForString(*iter, kColorTable, kColorTableLength); + int id = GetIntForString(iter.key(), kColorTable, kColorTableLength); if (id != -1) { (*temp_colors)[id] = color; } @@ -911,15 +911,14 @@ void BrowserThemePack::BuildDisplayPropertiesFromJSON( return; std::map<int, int> temp_properties; - for (DictionaryValue::key_iterator iter( - display_properties_value->begin_keys()); - iter != display_properties_value->end_keys(); ++iter) { - int property_id = GetIntForString(*iter, kDisplayProperties, + for (DictionaryValue::Iterator iter(*display_properties_value); + !iter.IsAtEnd(); iter.Advance()) { + int property_id = GetIntForString(iter.key(), kDisplayProperties, kDisplayPropertiesSize); switch (property_id) { case ThemeProperties::NTP_BACKGROUND_ALIGNMENT: { std::string val; - if (display_properties_value->GetString(*iter, &val)) { + if (iter.value().GetAsString(&val)) { temp_properties[ThemeProperties::NTP_BACKGROUND_ALIGNMENT] = ThemeProperties::StringToAlignment(val); } @@ -927,7 +926,7 @@ void BrowserThemePack::BuildDisplayPropertiesFromJSON( } case ThemeProperties::NTP_BACKGROUND_TILING: { std::string val; - if (display_properties_value->GetString(*iter, &val)) { + if (iter.value().GetAsString(&val)) { temp_properties[ThemeProperties::NTP_BACKGROUND_TILING] = ThemeProperties::StringToTiling(val); } @@ -935,7 +934,7 @@ void BrowserThemePack::BuildDisplayPropertiesFromJSON( } case ThemeProperties::NTP_LOGO_ALTERNATE: { int val = 0; - if (display_properties_value->GetInteger(*iter, &val)) + if (iter.value().GetAsInteger(&val)) temp_properties[ThemeProperties::NTP_LOGO_ALTERNATE] = val; break; } @@ -959,11 +958,11 @@ void BrowserThemePack::ParseImageNamesFromJSON( if (!images_value) return; - for (DictionaryValue::key_iterator iter(images_value->begin_keys()); - iter != images_value->end_keys(); ++iter) { + for (DictionaryValue::Iterator iter(*images_value); !iter.IsAtEnd(); + iter.Advance()) { std::string val; - if (images_value->GetString(*iter, &val)) { - int id = GetPersistentIDByName(*iter); + if (iter.value().GetAsString(&val)) { + int id = GetPersistentIDByName(iter.key()); if (id != -1) (*file_paths)[id] = images_path.AppendASCII(val); } diff --git a/chrome/browser/translate/translate_manager.cc b/chrome/browser/translate/translate_manager.cc index 349004c..855f045 100644 --- a/chrome/browser/translate/translate_manager.cc +++ b/chrome/browser/translate/translate_manager.cc @@ -227,9 +227,10 @@ void TranslateManager::SetSupportedLanguages(const std::string& language_list) { std::set<std::string>* supported_languages = supported_languages_.Pointer(); supported_languages->clear(); // ... and replace it with the values we just fetched from the server. - DictionaryValue::key_iterator iter = target_languages->begin_keys(); - for (; iter != target_languages->end_keys(); ++iter) - supported_languages_.Pointer()->insert(*iter); + for (DictionaryValue::Iterator iter(*target_languages); !iter.IsAtEnd(); + iter.Advance()) { + supported_languages_.Pointer()->insert(iter.key()); + } } // static diff --git a/chrome/browser/translate/translate_prefs.cc b/chrome/browser/translate/translate_prefs.cc index df0ef65..7b75212 100644 --- a/chrome/browser/translate/translate_prefs.cc +++ b/chrome/browser/translate/translate_prefs.cc @@ -200,17 +200,21 @@ void TranslatePrefs::MigrateUserPrefs(PrefService* user_prefs) { DictionaryValue* dict = update.Get(); if (!dict || dict->empty()) return; - for (DictionaryValue::key_iterator iter(dict->begin_keys()); - iter != dict->end_keys(); ++iter) { - ListValue* list = NULL; - if (!dict->GetList(*iter, &list) || !list) + DictionaryValue::Iterator iter(*dict); + while (!iter.IsAtEnd()) { + const ListValue* list = NULL; + if (!iter.value().GetAsList(&list) || !list) break; // Dictionary has either been migrated or new format. + std::string key = iter.key(); + // Advance the iterator before removing the current element. + iter.Advance(); std::string target_lang; if (list->empty() || !list->GetString(list->GetSize() - 1, &target_lang) || - target_lang.empty()) - dict->Remove(*iter, NULL); - else - dict->SetString(*iter, target_lang); + target_lang.empty()) { + dict->Remove(key, NULL); + } else { + dict->SetString(key, target_lang); + } } } diff --git a/chrome/browser/ui/cocoa/applescript/apple_event_util.mm b/chrome/browser/ui/cocoa/applescript/apple_event_util.mm index 2805f30..f250654 100644 --- a/chrome/browser/ui/cocoa/applescript/apple_event_util.mm +++ b/chrome/browser/ui/cocoa/applescript/apple_event_util.mm @@ -64,16 +64,13 @@ NSAppleEventDescriptor* ValueToAppleEventDescriptor(const base::Value* value) { descriptor = [NSAppleEventDescriptor recordDescriptor]; NSAppleEventDescriptor* userRecord = [NSAppleEventDescriptor listDescriptor]; - for (DictionaryValue::key_iterator iter(dictionary_value->begin_keys()); - iter != dictionary_value->end_keys(); ++iter) { - const base::Value* item; - if (dictionary_value->Get(*iter, &item)) { - [userRecord insertDescriptor:[NSAppleEventDescriptor - descriptorWithString:base::SysUTF8ToNSString(*iter)] - atIndex:0]; - [userRecord insertDescriptor:ValueToAppleEventDescriptor(item) - atIndex:0]; - } + for (DictionaryValue::Iterator iter(*dictionary_value); !iter.IsAtEnd(); + iter.Advance()) { + [userRecord insertDescriptor:[NSAppleEventDescriptor + descriptorWithString:base::SysUTF8ToNSString(iter.key())] + atIndex:0]; + [userRecord insertDescriptor:ValueToAppleEventDescriptor(&iter.value()) + atIndex:0]; } // Description of what keyASUserRecordFields does. // http://lists.apple.com/archives/cocoa-dev/2009/Jul/msg01216.html diff --git a/chrome/browser/ui/webui/performance_monitor/performance_monitor_handler.cc b/chrome/browser/ui/webui/performance_monitor/performance_monitor_handler.cc index e1cfef8..af7fbce 100644 --- a/chrome/browser/ui/webui/performance_monitor/performance_monitor_handler.cc +++ b/chrome/browser/ui/webui/performance_monitor/performance_monitor_handler.cc @@ -261,22 +261,21 @@ void DoGetEvents(ListValue* results, event != event_vector.end(); ++event) { DictionaryValue* localized_event = new DictionaryValue(); - for (DictionaryValue::key_iterator key = (*event)->data()->begin_keys(); - key != (*event)->data()->end_keys(); ++key) { + for (DictionaryValue::Iterator data(*(*event)->data()); !data.IsAtEnd(); + data.Advance()) { std::string localized_key; - Value* value = NULL; // The property 'eventType' is set in HandleGetEvents as part of the // entire result set, so we don't need to include this here in the // event. - if (*key == "eventType") + if (data.key() == "eventType") continue; - else if (*key == "time") { + else if (data.key() == "time") { // The property 'time' is also used computationally, but must be // converted to JS-style time. double time = 0.0; - if (!(*event)->data()->GetDouble(std::string("time"), &time)) { + if (!data.value().GetAsDouble(&time)) { LOG(ERROR) << "Failed to get 'time' field from event."; continue; } @@ -287,16 +286,15 @@ void DoGetEvents(ListValue* results, // All other values are user-facing, so we create a new value for // localized display. DictionaryValue* localized_value = new DictionaryValue(); - localized_value->SetString("label", - GetLocalizedStringFromEventProperty(*key)); - Value* old_value = NULL; - (*event)->data()->Get(*key, &old_value); + localized_value->SetString( + "label", + GetLocalizedStringFromEventProperty(data.key())); localized_value->SetWithoutPathExpansion("value", - old_value->DeepCopy()); + data.value().DeepCopy()); value = localized_value; } - localized_event->SetWithoutPathExpansion(*key, value); + localized_event->SetWithoutPathExpansion(data.key(), value); } events->Append(localized_event); } |