diff options
Diffstat (limited to 'extensions/common/url_pattern.cc')
-rw-r--r-- | extensions/common/url_pattern.cc | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/extensions/common/url_pattern.cc b/extensions/common/url_pattern.cc index 502c459..b91d438 100644 --- a/extensions/common/url_pattern.cc +++ b/extensions/common/url_pattern.cc @@ -237,11 +237,12 @@ 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_, '.', &host_components); + std::vector<std::string> host_components = base::SplitString( + host_, ".", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL); // Could be empty if the host only consists of whitespace characters. - if (host_components.empty()) + if (host_components.empty() || + (host_components.size() == 1 && host_components[0].empty())) return PARSE_ERROR_EMPTY_HOST; if (host_components[0] == "*") { |