To elaborate a bit on the last point, there used to be a number of string splitting functions and overloads, such as SplitString, SplitStringDontTrim, SplitStringAlongWhitespace, Tokenize and so on. They are all replaced with just one function, SplitString with explicit options for split operation passed in as arguments.
- SplitStringDontTrim(" ", '*', &r);
+ r = SplitString(" ", "*", base::KEEP_WHITESPACE, base::SPLIT_WANT_ALL);
- SplitStringAlongWhitespace(data[i].input, &results);
+ results = base::SplitString(data[i].input, base::kWhitespaceASCII, base::KEEP_WHITESPACE, base::SPLIT_WANT_NONEMPTY);
- SplitString(zone_path_contents, '\n', &lines);
+ lines = SplitString(zone_path_contents, "\n", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
- if (base::EndsWith(dll_name, kDelaySuffix, false)) {
+ if (base::EndsWith(dll_name, kDelaySuffix, base::CompareCase::INSENSITIVE_ASCII)) {
- base::StartsWithASCII(window_class, kChromeWindowClassPrefix, true)
+ base::EndsWith(window_class, kChromeWindowClassPrefix, base::CompareCase::SENSITIVE)
- Tokenize(version, ".", &tokens);
+ tokens = base::SplitString(version, ".", base::KEEP_WHITESPACE, base::SPLIT_WANT_NONEMPTY);
- if (!base::strcasecmp(it->first.c_str(), header)) {
+ if (base::EqualsCaseInsensitiveASCII(it->first, header)) {