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..17f8505bedac0c5bf449c1bcf8342e40b56a3213 100644 |
--- a/chrome/browser/spellchecker/spellcheck_custom_dictionary.cc |
+++ b/chrome/browser/spellchecker/spellcheck_custom_dictionary.cc |
@@ -1,4 +1,4 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
+// Copyright 2012 The Chromium Authors. All rights reserved. |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
@@ -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,16 +333,14 @@ 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) |
groby-ooo-7-16
2016/02/09 20:20:26
Since this is purely a size limiter, just make it
Kevin Bailey
2016/02/09 22:26:39
Done.
|
+ break; |
sync_pb::EntitySpecifics specifics; |
specifics.mutable_dictionary()->set_word(word); |
data.push_back(syncer::SyncData::CreateLocalData(word, word, specifics)); |
+ ++i; |
} |
return data; |
} |
@@ -445,12 +443,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,14 +487,15 @@ 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( |
FROM_HERE, syncer::SyncChange::ACTION_ADD, |
syncer::SyncData::CreateLocalData(word, word, specifics))); |
+ ++i; |
groby-ooo-7-16
2016/02/09 20:20:26
See above.
Kevin Bailey
2016/02/09 22:26:39
Done.
|
} |
for (const std::string& word : dictionary_change.to_remove()) { |