| Index: components/policy/core/browser/url_blacklist_manager.h
|
| diff --git a/components/policy/core/browser/url_blacklist_manager.h b/components/policy/core/browser/url_blacklist_manager.h
|
| index db1763304ac07141b4ec12de41b81444d095da4f..0693cb77ee19411ececaaff8df6091735e7bc77d 100644
|
| --- a/components/policy/core/browser/url_blacklist_manager.h
|
| +++ b/components/policy/core/browser/url_blacklist_manager.h
|
| @@ -40,6 +40,15 @@ namespace policy {
|
| // against this set. The filters are currently kept in memory.
|
| class POLICY_EXPORT URLBlacklist {
|
| public:
|
| + // Indicates if the URL matches a pattern defined in blacklist, in whitelist
|
| + // or doesn't match anything in either list as defined in URLBlacklist and
|
| + // URLWhitelist policies.
|
| + enum URLBlacklistState {
|
| + URL_IN_WHITELIST,
|
| + URL_IN_BLACKLIST,
|
| + URL_NEUTRAL_STATE,
|
| + };
|
| +
|
| // This is meant to be bound to url_formatter::SegmentURL. See that function
|
| // for documentation on the parameters and return value.
|
| typedef std::string (*SegmentURLCallback)(const std::string&, url::Parsed*);
|
| @@ -62,12 +71,15 @@ class POLICY_EXPORT URLBlacklist {
|
| // Returns true if the URL is blocked.
|
| bool IsURLBlocked(const GURL& url) const;
|
|
|
| + URLBlacklistState GetURLBlacklistState(const GURL& url) const;
|
| +
|
| // Returns the number of items in the list.
|
| size_t Size() const;
|
|
|
| // Splits a URL filter into its components. A GURL isn't used because these
|
| // can be invalid URLs e.g. "google.com".
|
| - // Returns false if the URL couldn't be parsed.
|
| + // Returns false if the URL couldn't be parsed. In case false is returned,
|
| + // the values of output parameters are undefined.
|
| // The |host| is preprocessed so it can be passed to URLMatcher for the
|
| // appropriate condition.
|
| // The optional username and password are ignored.
|
| @@ -76,6 +88,7 @@ class POLICY_EXPORT URLBlacklist {
|
| // |port| is 0 if none is explicitly defined.
|
| // |path| does not include query parameters.
|
| // |query| contains the query parameters ('?' not included).
|
| + // All arguments are mandatory.
|
| static bool FilterToComponents(SegmentURLCallback segment_url,
|
| const std::string& filter,
|
| std::string* scheme,
|
| @@ -160,6 +173,8 @@ class POLICY_EXPORT URLBlacklistManager {
|
| // from the IO thread.
|
| bool IsURLBlocked(const GURL& url) const;
|
|
|
| + URLBlacklist::URLBlacklistState GetURLBlacklistState(const GURL& url) const;
|
| +
|
| // Returns true if a request for |url| is blocked by the current blacklist.
|
| //
|
| // Should only be called for requests for frames (Main frames or subframes).
|
|
|