Chromium Code Reviews| Index: chrome/common/extensions/url_pattern.h |
| diff --git a/chrome/common/extensions/url_pattern.h b/chrome/common/extensions/url_pattern.h |
| index 6a83c017ce7c3b5a3dd2cd0348a16fd009352b14..884d919082a5dcf41cca282e6ba987faf1fa6808 100644 |
| --- a/chrome/common/extensions/url_pattern.h |
| +++ b/chrome/common/extensions/url_pattern.h |
| @@ -1,4 +1,4 @@ |
| -// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| +// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| #ifndef CHROME_COMMON_EXTENSIONS_URL_PATTERN_H_ |
| @@ -119,6 +119,12 @@ class URLPattern { |
| bool match_all_urls() const { return match_all_urls_; } |
| void SetMatchAllURLs(bool val); |
| + // Returns true if this pattern matches nested URL paths. |
| + // If false, a path match other than '*' will always fail on a nested URL. |
| + // If true, a path match other than '*' will always fail on a non-nested URL. |
|
Aaron Boodman
2012/03/21 23:51:57
Can we do something even more specific, just for t
ericu
2012/03/22 00:22:14
My goal was actually to support filesystem URLs tr
|
| + bool match_nested_url_path() const { return match_nested_url_path_; } |
| + void SetMatchNestedURLPath(bool val); |
| + |
| // Sets the scheme for pattern matches. This can be a single '*' if the |
| // pattern matches all valid schemes (as defined by the valid_schemes_ |
| // property). Returns false on failure (if the scheme is not valid). |
| @@ -145,7 +151,9 @@ class URLPattern { |
| bool MatchesHost(const GURL& test) const; |
| // Returns true if |test| matches our path. |
| - bool MatchesPath(const std::string& test) const; |
| + // Set nested_url to true if the test URL had an inner_url(). |
| + // See SetMatchNestedURLPath for behavior. |
| + bool MatchesPath(const std::string& test, bool nested_url) const; |
| // Returns true if |port| matches our port. |
| bool MatchesPort(int port) const; |
| @@ -204,6 +212,11 @@ class URLPattern { |
| // True if this is a special-case "<all_urls>" pattern. |
| bool match_all_urls_; |
| + // True if we match path_ against the full path of a nested URL, e.g. |
| + // if given filesystem:http://a.com/temporary/foo.txt, use /temporary/foo.txt. |
| + // Otherwise we match only against the path of a non-nested URL. |
| + bool match_nested_url_path_; |
| + |
| // The scheme for the pattern. |
| std::string scheme_; |