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

Unified Diff: chrome/browser/spellchecker/spellcheck_custom_dictionary.cc

Issue 1665023002: Cheer up spell-checking code (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: More descriptive variable name Created 4 years, 10 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/spellchecker/misspelling.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/spellchecker/spellcheck_custom_dictionary.cc
diff --git a/chrome/browser/spellchecker/spellcheck_custom_dictionary.cc b/chrome/browser/spellchecker/spellcheck_custom_dictionary.cc
index c9d113fd6025caf53e4ccf184a5626712bff11f2..52a243096c7158520a4106cc96098d805586f887 100644
--- a/chrome/browser/spellchecker/spellcheck_custom_dictionary.cc
+++ b/chrome/browser/spellchecker/spellcheck_custom_dictionary.cc
@@ -96,14 +96,14 @@ int SanitizeWordsToAdd(const std::set<std::string>& existing,
std::set<std::string>* to_add) {
DCHECK(to_add);
// Do not add duplicate words.
- std::set<std::string> new_words =
- base::STLSetDifference<std::set<std::string>>(*to_add, existing);
+ std::vector<std::string> new_words =
+ base::STLSetDifference<std::vector<std::string>>(*to_add, existing);
int result = VALID_CHANGE;
if (to_add->size() != new_words.size())
result |= DETECTED_DUPLICATE_WORDS;
// Do not add invalid words.
std::set<std::string> valid_new_words;
- for (const std::string& word : new_words) {
+ for (const auto& word : new_words) {
if (IsValidWord(word))
valid_new_words.insert(valid_new_words.end(), word);
}
@@ -333,13 +333,10 @@ syncer::SyncDataList SpellcheckCustomDictionary::GetAllSyncData(
DCHECK_CURRENTLY_ON(BrowserThread::UI);
DCHECK_EQ(syncer::DICTIONARY, type);
syncer::SyncDataList data;
- std::string word;
size_t i = 0;
- for (auto it = words_.begin();
- it != words_.end() &&
- i < chrome::spellcheck_common::MAX_SYNCABLE_DICTIONARY_WORDS;
- ++it, ++i) {
- word = *it;
+ for (const auto& word : words_) {
+ if (i++ >= chrome::spellcheck_common::MAX_SYNCABLE_DICTIONARY_WORDS)
+ break;
sync_pb::EntitySpecifics specifics;
specifics.mutable_dictionary()->set_word(word);
data.push_back(syncer::SyncData::CreateLocalData(word, word, specifics));
@@ -445,12 +442,8 @@ void SpellcheckCustomDictionary::Apply(const Change& dictionary_change) {
words_.insert(dictionary_change.to_add().begin(),
dictionary_change.to_add().end());
}
- if (!dictionary_change.to_remove().empty()) {
- std::set<std::string> updated_words =
- base::STLSetDifference<std::set<std::string>>(
- words_, dictionary_change.to_remove());
- std::swap(words_, updated_words);
- }
+ for (const auto& word : dictionary_change.to_remove())
+ words_.erase(word);
}
void SpellcheckCustomDictionary::FixInvalidFile(
@@ -493,9 +486,9 @@ syncer::SyncError SpellcheckCustomDictionary::Sync(
syncer::SyncChangeList sync_change_list;
int i = 0;
- for (auto it = dictionary_change.to_add().begin();
- it != dictionary_change.to_add().end() && i < upload_size; ++it, ++i) {
- const std::string& word = *it;
+ for (const auto& word : dictionary_change.to_add()) {
+ if (i++ >= upload_size)
+ break;
sync_pb::EntitySpecifics specifics;
specifics.mutable_dictionary()->set_word(word);
sync_change_list.push_back(syncer::SyncChange(
« no previous file with comments | « chrome/browser/spellchecker/misspelling.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698