| Index: chrome/common/extensions/url_pattern.h
|
| diff --git a/chrome/common/extensions/url_pattern.h b/chrome/common/extensions/url_pattern.h
|
| index b9d039d9d3a4638b9b3206e640e93e752edf8b94..ef01c1b6ee8db2ef105cc525325b8306edc98deb 100644
|
| --- a/chrome/common/extensions/url_pattern.h
|
| +++ b/chrome/common/extensions/url_pattern.h
|
| @@ -123,17 +123,13 @@ class URLPattern {
|
| // The <all_urls> string pattern.
|
| static const char kAllUrlsPattern[];
|
|
|
| - // Construct an URLPattern with the given set of allowable schemes. See
|
| - // valid_schemes_ for more info.
|
| - explicit URLPattern(int valid_schemes);
|
| + explicit URLPattern(ParseOption parse_option, int valid_schemes);
|
|
|
| // Convenience to construct a URLPattern from a string. The string is expected
|
| - // to be a valid pattern. If the string is not known ahead of time, use
|
| - // Parse() instead, which returns success or failure.
|
| + // to be a valid pattern when parsed with USE_PORTS. If the string is not
|
| + // known ahead of time, use Parse() instead, which returns success or failure.
|
| URLPattern(int valid_schemes, const std::string& pattern);
|
|
|
| - // Note: don't use this directly. This exists so URLPattern can be used
|
| - // with STL containers.
|
| URLPattern();
|
| ~URLPattern();
|
|
|
| @@ -143,21 +139,17 @@ class URLPattern {
|
| // Initializes this instance by parsing the provided string. Returns
|
| // URLPattern::PARSE_SUCCESS on success, or an error code otherwise. On
|
| // failure, this instance will have some intermediate values and is in an
|
| - // invalid state. Adding error checks to URLPattern::Parse() can cause
|
| - // patterns in installed extensions to fail. If an installed extension
|
| - // uses a pattern that was valid but fails a new error check, the
|
| - // extension will fail to load when chrome is auto-updated. To avoid
|
| - // this, new parse checks are enabled only when |strictness| is
|
| - // OPTION_STRICT. OPTION_STRICT should be used when loading in developer
|
| - // mode, or when an extension's patterns are controlled by chrome (such
|
| - // as component extensions).
|
| - ParseResult Parse(const std::string& pattern_str,
|
| - ParseOption strictness);
|
| + // invalid state.
|
| + ParseResult Parse(const std::string& pattern_str);
|
|
|
| // Gets the bitmask of valid schemes.
|
| int valid_schemes() const { return valid_schemes_; }
|
| void SetValidSchemes(int valid_schemes);
|
|
|
| + // Gets or sets the parse option used with Parse().
|
| + ParseOption parse_option() const { return parse_option_; }
|
| + void SetParseOption(ParseOption parse_option);
|
| +
|
| // Gets the host the pattern matches. This can be an empty string if the
|
| // pattern matches all hosts (the input was <scheme>://*/<whatever>).
|
| const std::string& host() const { return host_; }
|
| @@ -252,6 +244,9 @@ class URLPattern {
|
| // equivalent literal schemes, otherwise returns the current scheme.
|
| std::vector<std::string> GetExplicitSchemes() const;
|
|
|
| + // Controls how to interpret the input to Parse().
|
| + ParseOption parse_option_;
|
| +
|
| // A bitmask containing the schemes which are considered valid for this
|
| // pattern. Parse() uses this to decide whether a pattern contains a valid
|
| // scheme. MatchesScheme uses this to decide whether a wildcard scheme_
|
|
|