summaryrefslogtreecommitdiffstats
path: root/extensions
diff options
context:
space:
mode:
authorpkasting <pkasting@chromium.org>2015-08-06 18:29:50 -0700
committerCommit bot <commit-bot@chromium.org>2015-08-07 01:30:28 +0000
commitc4afb05f67511e980cd13c021abf26e04b902977 (patch)
tree125f79c7a354095c4519128b0fe2c9983f644152 /extensions
parentac97e8e270e8783230272fa07d18d360d2409d5f (diff)
downloadchromium_src-c4afb05f67511e980cd13c021abf26e04b902977.zip
chromium_src-c4afb05f67511e980cd13c021abf26e04b902977.tar.gz
chromium_src-c4afb05f67511e980cd13c021abf26e04b902977.tar.bz2
Revert of Update SplitString calls to new form (patchset #5 id:80001 of https://codereview.chromium.org/1272823003/ )
Reason for revert: Caused Blink layout test failures in media/encrypted-media/encrypted-media-requestmediakeysystemaccess.html : http://test-results.appspot.com/dashboards/flakiness_dashboard.html#showExpectations=true&tests=media%2Fencrypted-media%2Fencrypted-media-requestmediakeysystemaccess.html Original issue's description: > Update SplitString calls to new form > > Uses the new form for most (but not quite all) of the remaining users of the old form. > > Changes media mime util codec list parsing to expect no result from the string "," rather than two empty strings. The old SplitString call had a special case where if the input was empty, it would return empty, but if it had one split character, it would return two empty strings as results. > > The new one lets you choose but the options are either (1) empty string -> one empty string and "," -> two empty strings, or (2) map both to no results for when you don't want empty results. I'm pretty sure media codec parsing actually wants the latter behavior, so I updated the call to discard empty results and MimeUtilTest.ParseCodecString is updated. > > Committed: https://crrev.com/0aa7c64253cca8b636d52d1d01d94f96ab9c13fa > Cr-Commit-Position: refs/heads/master@{#342238} TBR=sky@chromium.org,dalecurtis@chromium.org,brettw@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1278973003 Cr-Commit-Position: refs/heads/master@{#342257}
Diffstat (limited to 'extensions')
-rw-r--r--extensions/browser/api/networking_private/networking_private_linux.cc6
-rw-r--r--extensions/common/csp_validator.cc12
-rw-r--r--extensions/common/features/base_feature_provider.cc8
-rw-r--r--extensions/common/manifest.cc7
-rw-r--r--extensions/common/permissions/socket_permission_data.cc5
-rw-r--r--extensions/common/permissions/socket_permission_entry.cc10
-rw-r--r--extensions/common/url_pattern.cc7
-rw-r--r--extensions/renderer/dispatcher.cc4
8 files changed, 31 insertions, 28 deletions
diff --git a/extensions/browser/api/networking_private/networking_private_linux.cc b/extensions/browser/api/networking_private/networking_private_linux.cc
index bd07dc5..1bdb116 100644
--- a/extensions/browser/api/networking_private/networking_private_linux.cc
+++ b/extensions/browser/api/networking_private/networking_private_linux.cc
@@ -51,8 +51,10 @@ bool ParseNetworkGuid(const std::string& guid,
std::string* device_path,
std::string* access_point_path,
std::string* ssid) {
- std::vector<std::string> guid_parts =
- base::SplitString(guid, "|", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
+ std::vector<std::string> guid_parts;
+
+ base::SplitString(guid, '|', &guid_parts);
+
if (guid_parts.size() != 3) {
return false;
}
diff --git a/extensions/common/csp_validator.cc b/extensions/common/csp_validator.cc
index d19b983..1fe2217 100644
--- a/extensions/common/csp_validator.cc
+++ b/extensions/common/csp_validator.cc
@@ -240,8 +240,8 @@ std::string SanitizeContentSecurityPolicy(
int options,
std::vector<InstallWarning>* warnings) {
// See http://www.w3.org/TR/CSP/#parse-a-csp-policy for parsing algorithm.
- std::vector<std::string> directives = base::SplitString(
- policy, ";", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
+ std::vector<std::string> directives;
+ base::SplitString(policy, ';', &directives);
DirectiveStatus default_src_status(kDefaultSrc);
DirectiveStatus script_src_status(kScriptSrc);
@@ -307,9 +307,13 @@ std::string SanitizeContentSecurityPolicy(
bool ContentSecurityPolicyIsSandboxed(
const std::string& policy, Manifest::Type type) {
// See http://www.w3.org/TR/CSP/#parse-a-csp-policy for parsing algorithm.
+ std::vector<std::string> directives;
+ base::SplitString(policy, ';', &directives);
+
bool seen_sandbox = false;
- for (const std::string& input : base::SplitString(
- policy, ";", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL)) {
+
+ for (size_t i = 0; i < directives.size(); ++i) {
+ std::string& input = directives[i];
base::StringTokenizer tokenizer(input, " \t\r\n");
if (!tokenizer.GetNext())
continue;
diff --git a/extensions/common/features/base_feature_provider.cc b/extensions/common/features/base_feature_provider.cc
index cae08d6..472e1f55 100644
--- a/extensions/common/features/base_feature_provider.cc
+++ b/extensions/common/features/base_feature_provider.cc
@@ -52,8 +52,8 @@ BaseFeatureProvider::BaseFeatureProvider(const base::DictionaryValue& root,
if (iter.value().GetType() == base::Value::TYPE_DICTIONARY) {
linked_ptr<SimpleFeature> feature((*factory_)());
- std::vector<std::string> split = base::SplitString(
- iter.key(), ".", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
+ std::vector<std::string> split;
+ base::SplitString(iter.key(), '.', &split);
// Push parent features on the stack, starting with the current feature.
// If one of the features has "noparent" set, stop pushing features on
@@ -171,8 +171,8 @@ Feature* BaseFeatureProvider::GetParent(Feature* feature) const {
if (feature->no_parent())
return nullptr;
- std::vector<std::string> split = base::SplitString(
- feature->name(), ".", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
+ std::vector<std::string> split;
+ base::SplitString(feature->name(), '.', &split);
if (split.size() < 2)
return nullptr;
split.pop_back();
diff --git a/extensions/common/manifest.cc b/extensions/common/manifest.cc
index c552de7..f072488 100644
--- a/extensions/common/manifest.cc
+++ b/extensions/common/manifest.cc
@@ -240,10 +240,11 @@ int Manifest::GetManifestVersion() const {
}
bool Manifest::CanAccessPath(const std::string& path) const {
+ std::vector<std::string> components;
+ base::SplitString(path, '.', &components);
std::string key;
- for (const base::StringPiece& component : base::SplitStringPiece(
- path, ".", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL)) {
- component.AppendToString(&key);
+ for (size_t i = 0; i < components.size(); ++i) {
+ key += components[i];
if (!CanAccessKey(key))
return false;
key += '.';
diff --git a/extensions/common/permissions/socket_permission_data.cc b/extensions/common/permissions/socket_permission_data.cc
index f22f14a..a01c20f 100644
--- a/extensions/common/permissions/socket_permission_data.cc
+++ b/extensions/common/permissions/socket_permission_data.cc
@@ -124,9 +124,8 @@ SocketPermissionEntry& SocketPermissionData::entry() {
bool SocketPermissionData::Parse(const std::string& permission) {
Reset();
- std::vector<std::string> tokens =
- base::SplitString(permission, std::string(1, kColon),
- base::KEEP_WHITESPACE, base::SPLIT_WANT_ALL);
+ std::vector<std::string> tokens;
+ base::SplitStringDontTrim(permission, kColon, &tokens);
if (tokens.empty())
return false;
diff --git a/extensions/common/permissions/socket_permission_entry.cc b/extensions/common/permissions/socket_permission_entry.cc
index 86c61de..8b2d355 100644
--- a/extensions/common/permissions/socket_permission_entry.cc
+++ b/extensions/common/permissions/socket_permission_entry.cc
@@ -128,9 +128,8 @@ bool SocketPermissionEntry::ParseHostPattern(
SocketPermissionRequest::OperationType type,
const std::string& pattern,
SocketPermissionEntry* entry) {
- std::vector<std::string> tokens =
- base::SplitString(pattern, std::string(1, kColon), base::KEEP_WHITESPACE,
- base::SPLIT_WANT_ALL);
+ std::vector<std::string> tokens;
+ base::SplitStringDontTrim(pattern, kColon, &tokens);
return ParseHostPattern(type, tokens, entry);
}
@@ -169,9 +168,8 @@ bool SocketPermissionEntry::ParseHostPattern(
result.pattern_.host = base::StringToLowerASCII(result.pattern_.host);
// The first component can optionally be '*' to match all subdomains.
- std::vector<std::string> host_components =
- base::SplitString(result.pattern_.host, std::string(1, kDot),
- base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
+ std::vector<std::string> host_components;
+ base::SplitString(result.pattern_.host, kDot, &host_components);
DCHECK(!host_components.empty());
if (host_components[0] == kWildcard || host_components[0].empty()) {
diff --git a/extensions/common/url_pattern.cc b/extensions/common/url_pattern.cc
index b91d438..502c459 100644
--- a/extensions/common/url_pattern.cc
+++ b/extensions/common/url_pattern.cc
@@ -237,12 +237,11 @@ URLPattern::ParseResult URLPattern::Parse(const std::string& pattern) {
host_ = pattern.substr(host_start_pos, host_end_pos - host_start_pos);
// The first component can optionally be '*' to match all subdomains.
- std::vector<std::string> host_components = base::SplitString(
- host_, ".", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
+ std::vector<std::string> host_components;
+ base::SplitString(host_, '.', &host_components);
// Could be empty if the host only consists of whitespace characters.
- if (host_components.empty() ||
- (host_components.size() == 1 && host_components[0].empty()))
+ if (host_components.empty())
return PARSE_ERROR_EMPTY_HOST;
if (host_components[0] == "*") {
diff --git a/extensions/renderer/dispatcher.cc b/extensions/renderer/dispatcher.cc
index 94bfb78..997185e 100644
--- a/extensions/renderer/dispatcher.cc
+++ b/extensions/renderer/dispatcher.cc
@@ -1347,8 +1347,8 @@ v8::Local<v8::Object> Dispatcher::GetOrCreateBindObjectIfAvailable(
const std::string& api_name,
std::string* bind_name,
ScriptContext* context) {
- std::vector<std::string> split = base::SplitString(
- api_name, ".", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
+ std::vector<std::string> split;
+ base::SplitString(api_name, '.', &split);
v8::Local<v8::Object> bind_object;