| Index: chrome/common/content_settings_pattern.h
|
| diff --git a/chrome/common/content_settings_pattern.h b/chrome/common/content_settings_pattern.h
|
| deleted file mode 100644
|
| index 067301454a3c0940c5bc54f5921c55a80f0fee0e..0000000000000000000000000000000000000000
|
| --- a/chrome/common/content_settings_pattern.h
|
| +++ /dev/null
|
| @@ -1,214 +0,0 @@
|
| -// 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.
|
| -
|
| -// Patterns used in content setting rules.
|
| -
|
| -#ifndef CHROME_COMMON_CONTENT_SETTINGS_PATTERN_H_
|
| -#define CHROME_COMMON_CONTENT_SETTINGS_PATTERN_H_
|
| -
|
| -#include <string>
|
| -
|
| -#include "base/gtest_prod_util.h"
|
| -
|
| -class GURL;
|
| -
|
| -namespace content_settings {
|
| -class PatternParser;
|
| -}
|
| -
|
| -// A pattern used in content setting rules. See |IsValid| for a description of
|
| -// possible patterns.
|
| -class ContentSettingsPattern {
|
| - public:
|
| - // Each content settings pattern describes a set of origins. Patterns, and the
|
| - // sets they describe, have specific relations. |Relation| describes the
|
| - // relation of two patterns A and B. When pattern A is compared with pattern B
|
| - // (A compare B) interesting relations are:
|
| - // - IDENTITY:
|
| - // Pattern A and B are identical. The patterns are equal.
|
| - //
|
| - // - DISJOINT_ORDER_PRE:
|
| - // Pattern A and B have no intersection. A and B never match the origin of
|
| - // a URL at the same time. But pattern A has a higher precedence than
|
| - // pattern B when patterns are sorted.
|
| - //
|
| - // - DISJOINT_ORDER_POST:
|
| - // Pattern A and B have no intersection. A and B never match the origin of
|
| - // a URL at the same time. But pattern A has a lower precedence than
|
| - // pattern B when patterns are sorted.
|
| - //
|
| - // - SUCCESSOR:
|
| - // Pattern A and B have an intersection. But pattern B has a higher
|
| - // precedence than pattern A for URLs that are matched by both pattern.
|
| - //
|
| - // - PREDECESSOR:
|
| - // Pattern A and B have an intersection. But pattern A has a higher
|
| - // precedence than pattern B for URLs that are matched by both pattern.
|
| - enum Relation {
|
| - DISJOINT_ORDER_POST = -2,
|
| - SUCCESSOR = -1,
|
| - IDENTITY = 0,
|
| - PREDECESSOR = 1,
|
| - DISJOINT_ORDER_PRE = 2,
|
| - };
|
| -
|
| - struct PatternParts {
|
| - PatternParts();
|
| - ~PatternParts();
|
| -
|
| - // Lowercase string of the URL scheme to match. This string is empty if the
|
| - // |is_scheme_wildcard| flag is set.
|
| - std::string scheme;
|
| -
|
| - // True if the scheme wildcard is set.
|
| - bool is_scheme_wildcard;
|
| -
|
| - // Normalized string that is either of the following:
|
| - // - IPv4 or IPv6
|
| - // - hostname
|
| - // - domain
|
| - // - empty string if the |is_host_wildcard flag is set.
|
| - std::string host;
|
| -
|
| - // True if the domain wildcard is set.
|
| - bool has_domain_wildcard;
|
| -
|
| - // String with the port to match. This string is empty if the
|
| - // |is_port_wildcard| flag is set.
|
| - std::string port;
|
| -
|
| - // True if the port wildcard is set.
|
| - bool is_port_wildcard;
|
| -
|
| - // TODO(markusheintz): Needed for legacy reasons. Remove. Path
|
| - // specification. Only used for content settings pattern with a "file"
|
| - // scheme part.
|
| - std::string path;
|
| -
|
| - // True if the path wildcard is set.
|
| - bool is_path_wildcard;
|
| - };
|
| -
|
| - class BuilderInterface {
|
| - public:
|
| - virtual ~BuilderInterface() {}
|
| -
|
| - virtual BuilderInterface* WithPort(const std::string& port) = 0;
|
| -
|
| - virtual BuilderInterface* WithPortWildcard() = 0;
|
| -
|
| - virtual BuilderInterface* WithHost(const std::string& host) = 0;
|
| -
|
| - virtual BuilderInterface* WithDomainWildcard() = 0;
|
| -
|
| - virtual BuilderInterface* WithScheme(const std::string& scheme) = 0;
|
| -
|
| - virtual BuilderInterface* WithSchemeWildcard() = 0;
|
| -
|
| - virtual BuilderInterface* WithPath(const std::string& path) = 0;
|
| -
|
| - virtual BuilderInterface* WithPathWildcard() = 0;
|
| -
|
| - virtual BuilderInterface* Invalid() = 0;
|
| -
|
| - // Returns a content settings pattern according to the current configuration
|
| - // of the builder.
|
| - virtual ContentSettingsPattern Build() = 0;
|
| - };
|
| -
|
| - static BuilderInterface* CreateBuilder(bool use_legacy_validate);
|
| -
|
| - // The version of the pattern format implemented.
|
| - static const int kContentSettingsPatternVersion;
|
| -
|
| - // Returns a wildcard content settings pattern that matches all possible valid
|
| - // origins.
|
| - static ContentSettingsPattern Wildcard();
|
| -
|
| - // Returns a pattern that matches the scheme and host of this URL, as well as
|
| - // all subdomains and ports.
|
| - static ContentSettingsPattern FromURL(const GURL& url);
|
| -
|
| - // Returns a pattern that matches exactly this URL.
|
| - static ContentSettingsPattern FromURLNoWildcard(const GURL& url);
|
| -
|
| - // Returns a pattern that matches the given pattern specification.
|
| - // Valid patterns specifications are:
|
| - // - [*.]domain.tld (matches domain.tld and all sub-domains)
|
| - // - host (matches an exact hostname)
|
| - // - scheme://host:port (supported schemes: http,https)
|
| - // - scheme://[*.]domain.tld:port (supported schemes: http,https)
|
| - // - file://path (The path has to be an absolute path and start with a '/')
|
| - // - a.b.c.d (matches an exact IPv4 ip)
|
| - // - [a:b:c:d:e:f:g:h] (matches an exact IPv6 ip)
|
| - static ContentSettingsPattern FromString(const std::string& pattern_spec);
|
| -
|
| - // Sets the scheme that doesn't support domain wildcard and port.
|
| - // Needs to be called by the embedder before using ContentSettingsPattern.
|
| - // |scheme| can't be NULL, and the pointed string must remain alive until the
|
| - // app terminates.
|
| - static void SetNonWildcardDomainNonPortScheme(const char* scheme);
|
| -
|
| - // Compares |scheme| against the scheme set by the embedder.
|
| - static bool IsNonWildcardDomainNonPortScheme(const std::string& scheme);
|
| -
|
| - // Constructs an empty pattern. Empty patterns are invalid patterns. Invalid
|
| - // patterns match nothing.
|
| - ContentSettingsPattern();
|
| -
|
| - // True if this is a valid pattern.
|
| - bool IsValid() const { return is_valid_; }
|
| -
|
| - // True if |url| matches this pattern.
|
| - bool Matches(const GURL& url) const;
|
| -
|
| - // True if this pattern matches all hosts (i.e. it has a host wildcard).
|
| - bool MatchesAllHosts() const;
|
| -
|
| - // Returns a std::string representation of this pattern.
|
| - std::string ToString() const;
|
| -
|
| - // Compares the pattern with a given |other| pattern and returns the
|
| - // |Relation| of the two patterns.
|
| - Relation Compare(const ContentSettingsPattern& other) const;
|
| -
|
| - // Returns true if the pattern and the |other| pattern are identical.
|
| - bool operator==(const ContentSettingsPattern& other) const;
|
| -
|
| - // Returns true if the pattern and the |other| pattern are not identical.
|
| - bool operator!=(const ContentSettingsPattern& other) const;
|
| -
|
| - // Returns true if the pattern has a lower priority than the |other| pattern.
|
| - bool operator<(const ContentSettingsPattern& other) const;
|
| -
|
| - // Returns true if the pattern has a higher priority than the |other| pattern.
|
| - bool operator>(const ContentSettingsPattern& other) const;
|
| -
|
| - private:
|
| - friend class content_settings::PatternParser;
|
| - friend class ContentSettingsPatternSerializer;
|
| - FRIEND_TEST_ALL_PREFIXES(ContentSettingsPatternParserTest, SerializePatterns);
|
| -
|
| - class Builder;
|
| -
|
| - static Relation CompareScheme(
|
| - const ContentSettingsPattern::PatternParts& parts,
|
| - const ContentSettingsPattern::PatternParts& other_parts);
|
| -
|
| - static Relation CompareHost(
|
| - const ContentSettingsPattern::PatternParts& parts,
|
| - const ContentSettingsPattern::PatternParts& other_parts);
|
| -
|
| - static Relation ComparePort(
|
| - const ContentSettingsPattern::PatternParts& parts,
|
| - const ContentSettingsPattern::PatternParts& other_parts);
|
| -
|
| - ContentSettingsPattern(const PatternParts& parts, bool valid);
|
| -
|
| - PatternParts parts_;
|
| -
|
| - bool is_valid_;
|
| -};
|
| -
|
| -#endif // CHROME_COMMON_CONTENT_SETTINGS_PATTERN_H_
|
|
|