diff options
author | mpearson@chromium.org <mpearson@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-09 07:37:29 +0000 |
---|---|---|
committer | mpearson@chromium.org <mpearson@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-09 07:37:29 +0000 |
commit | d92134c12f51937ee234731249986ee31adf86bf (patch) | |
tree | 07fd386a11f9798105f889732e041287a96e7bfb /base/strings | |
parent | 2541de97ad9b325a0fe4b3ac9b6018675a5c839b (diff) | |
download | chromium_src-d92134c12f51937ee234731249986ee31adf86bf.zip chromium_src-d92134c12f51937ee234731249986ee31adf86bf.tar.gz chromium_src-d92134c12f51937ee234731249986ee31adf86bf.tar.bz2 |
Omnibox: Create DemoteByType Experiment
This experiment, which runs as part of the bundled omnibox field trial,
uses the field trial parameters to demote results of particular types
(e.g., HISTORY_TITLE results), possibly depending on context (e.g.,
search results page doing search term replacement).
It also improves the testing framework for field trial parameters,
allowing them to be cleared between consecutive TEST_F()s.
Tested via unit tests and by setting up my local variations server with
some parameters and making sure results can be demoted or
omitted.
BUG=264066
Review URL: https://chromiumcodereview.appspot.com/22031002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@216633 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/strings')
-rw-r--r-- | base/strings/string_split.cc | 13 | ||||
-rw-r--r-- | base/strings/string_split.h | 4 |
2 files changed, 9 insertions, 8 deletions
diff --git a/base/strings/string_split.cc b/base/strings/string_split.cc index d959fd0..210789c 100644 --- a/base/strings/string_split.cc +++ b/base/strings/string_split.cc @@ -80,12 +80,11 @@ bool SplitStringIntoKeyValues( return true; } -bool SplitStringIntoKeyValuePairs( - const std::string& line, - char key_value_delimiter, - char key_value_pair_delimiter, - std::vector<std::pair<std::string, std::string> >* kv_pairs) { - kv_pairs->clear(); +bool SplitStringIntoKeyValuePairs(const std::string& line, + char key_value_delimiter, + char key_value_pair_delimiter, + StringPairs* key_value_pairs) { + key_value_pairs->clear(); std::vector<std::string> pairs; SplitString(line, key_value_pair_delimiter, &pairs); @@ -107,7 +106,7 @@ bool SplitStringIntoKeyValuePairs( success = false; } DCHECK_LE(value.size(), 1U); - kv_pairs->push_back( + key_value_pairs->push_back( make_pair(key, value.empty() ? std::string() : value[0])); } return success; diff --git a/base/strings/string_split.h b/base/strings/string_split.h index 2803752d..faf08d6 100644 --- a/base/strings/string_split.h +++ b/base/strings/string_split.h @@ -36,11 +36,13 @@ BASE_EXPORT bool SplitStringIntoKeyValues(const std::string& line, std::string* key, std::vector<std::string>* values); +typedef std::vector<std::pair<std::string, std::string> > StringPairs;; + BASE_EXPORT bool SplitStringIntoKeyValuePairs( const std::string& line, char key_value_delimiter, char key_value_pair_delimiter, - std::vector<std::pair<std::string, std::string> >* kv_pairs); + StringPairs* key_value_pairs); // The same as SplitString, but use a substring delimiter instead of a char. BASE_EXPORT void SplitStringUsingSubstr(const string16& str, |