| Index: components/subresource_filter/core/common/flat/rules.fbs
|
| diff --git a/components/subresource_filter/core/common/flat/rules.fbs b/components/subresource_filter/core/common/flat/rules.fbs
|
| deleted file mode 100644
|
| index fdeaea972ee2eb8212f1d4c4e7e305f2a6ccf649..0000000000000000000000000000000000000000
|
| --- a/components/subresource_filter/core/common/flat/rules.fbs
|
| +++ /dev/null
|
| @@ -1,104 +0,0 @@
|
| -namespace subresource_filter.flat;
|
| -
|
| -// Corresponds to subresource_filter::proto::UrlPatternType.
|
| -enum UrlPatternType : ubyte {
|
| - SUBSTRING,
|
| - WILDCARDED,
|
| - REGEXP,
|
| -}
|
| -
|
| -// Corresponds to subresource_filter::proto::AnchorType.
|
| -enum AnchorType : ubyte {
|
| - NONE,
|
| - BOUNDARY,
|
| - SUBDOMAIN,
|
| -}
|
| -
|
| -// URL rule matching options. These correspond to multiple fields of
|
| -// subresource_filter::proto::UrlRule, but here, they are represented as flags
|
| -// of the same bitmask to allow for compact storage.
|
| -enum OptionFlag : ubyte (bit_flags) {
|
| - IS_WHITELIST,
|
| - APPLIES_TO_FIRST_PARTY,
|
| - APPLIES_TO_THIRD_PARTY,
|
| - IS_MATCH_CASE,
|
| -}
|
| -
|
| -// The flat representation of a single URL rule. For more details regarding the
|
| -// fields please see the comments to subresource_filter::proto::UrlRule.
|
| -table UrlRule {
|
| - // Rule matching options, a bitmask consisting of OptionFlags.
|
| - options : ubyte;
|
| -
|
| - // A bitmask of element types, same as proto::UrlRule::element_types. Enables
|
| - // all element types except POPUP by default.
|
| - // Note: Keep it equal to ELEMENT_TYPE_ALL-ELEMENT_TYPE_POPUP for compactness.
|
| - element_types : ushort = 6143;
|
| -
|
| - // A bitmask of activation types, same as proto::UrlRule::activation_types.
|
| - // Disables all activation types by default.
|
| - activation_types : ubyte = 0;
|
| -
|
| - // Use SUBSTRING as default, since it's the most used pattern type. Same as
|
| - // the corresponding proto::UrlRule::url_pattern_type.
|
| - url_pattern_type : UrlPatternType = SUBSTRING;
|
| -
|
| - // Use NONE as default, since most of the rules are not anchored.
|
| - anchor_left : AnchorType = NONE;
|
| - anchor_right : AnchorType = NONE;
|
| -
|
| - // The list of domains to be included/excluded from the filter's affected set.
|
| - domains_included : [string];
|
| - domains_excluded : [string];
|
| -
|
| - // A URL pattern in the format defined by |url_pattern_type|.
|
| - url_pattern : string;
|
| -}
|
| -
|
| -// Contains an N-gram (acting as a key in a hash table) and a list of URL rules
|
| -// associated with that N-gram.
|
| -table NGramToRules {
|
| - // A string consisting of N (up to 8) non-special characters, which are stored
|
| - // in the lowest N non-zero bytes, lower bytes corresponding to later symbols.
|
| - ngram : ulong;
|
| -
|
| - // The list of rules containing |ngram| as a substring of their URL pattern.
|
| - rule_list : [UrlRule];
|
| -}
|
| -
|
| -// A data structure used to select only a handful of URL rule candidates that
|
| -// need to be matched against a certain resource URL.
|
| -table UrlPatternIndex {
|
| - // The N of an N-gram index. Note: |n| should be between 1 and 8.
|
| - n : uint;
|
| -
|
| - // A hash table with open addressing. The keys of the table are N-grams.
|
| - ngram_index : [NGramToRules];
|
| -
|
| - // The slot that is pointed to by all empty slots of |ngram_index| hash table.
|
| - // Note: This is a workaround needed because null offsets are not allowed as
|
| - // elements of FlatBuffer arrays.
|
| - ngram_index_empty_slot : NGramToRules;
|
| -
|
| - // A list storing the rules that doesn't contain any valid N-grams in their
|
| - // URL patterns. Contains all the REGEXP rules as well.
|
| - // TODO(pkalinnikov): Think about better implementation for the fallback
|
| - // index. Possibly make it a hash map and maybe merge it with the N-gram
|
| - // index, since we can treat any sequence of characters shorter than N as an
|
| - // N-gram with zero bytes used for padding.
|
| - fallback_rules : [UrlRule];
|
| -}
|
| -
|
| -// The top-level data structure used to store URL rules.
|
| -table IndexedRuleset {
|
| - // The index of all blacklist URL rules.
|
| - blacklist_index : UrlPatternIndex;
|
| -
|
| - // The index of all whitelist URL rules, except pure activation rules.
|
| - whitelist_index : UrlPatternIndex;
|
| -
|
| - // The index of all whitelist URL rules with activation options.
|
| - activation_index : UrlPatternIndex;
|
| -}
|
| -
|
| -root_type IndexedRuleset;
|
|
|