OLD | NEW |
---|---|
1 // Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 #ifndef CHROME_COMMON_EXTENSIONS_URL_PATTERN_H_ | 4 #ifndef CHROME_COMMON_EXTENSIONS_URL_PATTERN_H_ |
5 #define CHROME_COMMON_EXTENSIONS_URL_PATTERN_H_ | 5 #define CHROME_COMMON_EXTENSIONS_URL_PATTERN_H_ |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "googleurl/src/gurl.h" | 9 #include "googleurl/src/gurl.h" |
10 | 10 |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
91 // Gets the host the pattern matches. This can be an empty string if the | 91 // Gets the host the pattern matches. This can be an empty string if the |
92 // pattern matches all hosts (the input was <scheme>://*/<whatever>). | 92 // pattern matches all hosts (the input was <scheme>://*/<whatever>). |
93 std::string host() const { return host_; } | 93 std::string host() const { return host_; } |
94 | 94 |
95 // Gets whether to match subdomains of host(). | 95 // Gets whether to match subdomains of host(). |
96 bool match_subdomains() const { return match_subdomains_; } | 96 bool match_subdomains() const { return match_subdomains_; } |
97 | 97 |
98 // Gets the path the pattern matches with the leading slash. This can have | 98 // Gets the path the pattern matches with the leading slash. This can have |
99 // embedded asterisks which are interpreted using glob rules. | 99 // embedded asterisks which are interpreted using glob rules. |
100 std::string path() const { return path_; } | 100 std::string path() const { return path_; } |
101 void set_path(const std::string& path) { | |
102 path_ = path; | |
103 path_escaped_ = ""; | |
Erik does not do reviews
2009/09/10 18:23:21
Is this just unimplemented?
Aaron Boodman
2009/09/10 18:55:31
I'm resetting it because the escaped form is compu
| |
104 } | |
101 | 105 |
102 private: | 106 private: |
103 // Returns true if |test| matches our host. | 107 // Returns true if |test| matches our host. |
104 bool MatchesHost(const GURL& test) const; | 108 bool MatchesHost(const GURL& test) const; |
105 | 109 |
106 // Returns true if |test| matches our path. | 110 // Returns true if |test| matches our path. |
107 bool MatchesPath(const GURL& test) const; | 111 bool MatchesPath(const GURL& test) const; |
108 | 112 |
109 // The scheme for the pattern. | 113 // The scheme for the pattern. |
110 std::string scheme_; | 114 std::string scheme_; |
111 | 115 |
112 // The host without any leading "*" components. | 116 // The host without any leading "*" components. |
113 std::string host_; | 117 std::string host_; |
114 | 118 |
115 // Whether we should match subdomains of the host. This is true if the first | 119 // Whether we should match subdomains of the host. This is true if the first |
116 // component of the pattern's host was "*". | 120 // component of the pattern's host was "*". |
117 bool match_subdomains_; | 121 bool match_subdomains_; |
118 | 122 |
119 // The path to match. This is everything after the host of the URL, or | 123 // The path to match. This is everything after the host of the URL, or |
120 // everything after the scheme in the case of file:// URLs. | 124 // everything after the scheme in the case of file:// URLs. |
121 std::string path_; | 125 std::string path_; |
122 | 126 |
123 // The path with "?" and "\" characters escaped for use with the | 127 // The path with "?" and "\" characters escaped for use with the |
124 // MatchPattern() function. This is populated lazily, the first time it is | 128 // MatchPattern() function. This is populated lazily, the first time it is |
125 // needed. | 129 // needed. |
126 mutable std::string path_escaped_; | 130 mutable std::string path_escaped_; |
127 }; | 131 }; |
128 | 132 |
129 #endif // CHROME_COMMON_EXTENSIONS_URL_PATTERN_H_ | 133 #endif // CHROME_COMMON_EXTENSIONS_URL_PATTERN_H_ |
OLD | NEW |