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

Unified Diff: chrome/browser/chromeos/input_method/input_method_syncer.cc

Issue 2695883003: Change uses of base::JoinString to pass StringPieces where possible. (Closed)
Patch Set: Fix android_webview compilation (and made FeatureList::SplitFeatureListString take StringPiece). Created 3 years, 9 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
Index: chrome/browser/chromeos/input_method/input_method_syncer.cc
diff --git a/chrome/browser/chromeos/input_method/input_method_syncer.cc b/chrome/browser/chromeos/input_method/input_method_syncer.cc
index 12ce3b71f65bad29e104c166644ea1d2df1b03d5..b1b99fbf9efbb0f95d84654609d0d795c686df7e 100644
--- a/chrome/browser/chromeos/input_method/input_method_syncer.cc
+++ b/chrome/browser/chromeos/input_method/input_method_syncer.cc
@@ -9,6 +9,7 @@
#include <vector>
#include "base/bind.h"
+#include "base/strings/string_piece.h"
#include "base/strings/string_split.h"
#include "base/strings/string_util.h"
#include "base/task_runner.h"
@@ -95,12 +96,12 @@ std::string CheckAndResolveLocales(const std::string& languages) {
}
// Appends tokens from |src| that are not in |dest| to |dest|.
-void MergeLists(std::vector<std::string>* dest,
- const std::vector<std::string>& src) {
+void MergeLists(std::vector<base::StringPiece>* dest,
+ const std::vector<base::StringPiece>& src) {
// Keep track of already-added tokens.
- std::set<std::string> unique_tokens(dest->begin(), dest->end());
+ std::set<base::StringPiece> unique_tokens(dest->begin(), dest->end());
- for (const std::string& token : src) {
+ for (auto token : src) {
// Skip token if it's already in |dest|.
if (binary_search(unique_tokens.begin(), unique_tokens.end(), token))
continue;
@@ -178,44 +179,45 @@ void InputMethodSyncer::MergeSyncedPrefs() {
prefs_->SetBoolean(prefs::kLanguageShouldMergeInputMethods, false);
merging_ = true;
- std::string preferred_languages_syncable =
- preferred_languages_syncable_.GetValue();
- std::string preload_engines_syncable =
- preload_engines_syncable_.GetValue();
- std::string enabled_extension_imes_syncable =
- enabled_extension_imes_syncable_.GetValue();
-
- std::vector<std::string> synced_tokens;
- std::vector<std::string> new_tokens;
+ std::vector<base::StringPiece> synced_tokens;
+ std::vector<base::StringPiece> new_tokens;
// First, set the syncable prefs to the union of the local and synced prefs.
+ std::string preferred_languages_syncable =
+ preferred_languages_syncable_.GetValue();
synced_tokens =
- base::SplitString(preferred_languages_syncable_.GetValue(), ",",
- base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
- new_tokens = base::SplitString(preferred_languages_.GetValue(), ",",
- base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
+ base::SplitStringPiece(preferred_languages_syncable, ",",
+ base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
+ std::string preferred_languages = preferred_languages_.GetValue();
+ new_tokens = base::SplitStringPiece(
+ preferred_languages, ",", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
// Append the synced values to the current values.
MergeLists(&new_tokens, synced_tokens);
preferred_languages_syncable_.SetValue(base::JoinString(new_tokens, ","));
+ std::string enabled_extension_imes_syncable =
+ enabled_extension_imes_syncable_.GetValue();
synced_tokens =
- base::SplitString(enabled_extension_imes_syncable_.GetValue(), ",",
- base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
- new_tokens = base::SplitString(enabled_extension_imes_.GetValue(), ",",
- base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
+ base::SplitStringPiece(enabled_extension_imes_syncable, ",",
+ base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
+ std::string enabled_extension_imes = enabled_extension_imes_.GetValue();
+ new_tokens = base::SplitStringPiece(
+ enabled_extension_imes, ",", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
MergeLists(&new_tokens, synced_tokens);
enabled_extension_imes_syncable_.SetValue(base::JoinString(new_tokens, ","));
// Revert preload engines to legacy component IDs.
- new_tokens = base::SplitString(preload_engines_.GetValue(), ",",
- base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
+ std::string preload_engines = preload_engines_.GetValue();
+ new_tokens = base::SplitStringPiece(
+ preload_engines, ",", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
std::transform(new_tokens.begin(), new_tokens.end(), new_tokens.begin(),
extension_ime_util::GetComponentIDByInputMethodID);
+ std::string preload_engines_syncable = preload_engines_syncable_.GetValue();
synced_tokens =
- base::SplitString(preload_engines_syncable_.GetValue(), ",",
- base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
+ base::SplitStringPiece(preload_engines_syncable, ",",
+ base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
MergeLists(&new_tokens, synced_tokens);
preload_engines_syncable_.SetValue(base::JoinString(new_tokens, ","));

Powered by Google App Engine
This is Rietveld 408576698