| OLD | NEW |
| 1 namespace subresource_filter.flat; | 1 namespace subresource_filter.flat; |
| 2 | 2 |
| 3 // Corresponds to subresource_filter::proto::UrlPatternType. | 3 // Corresponds to subresource_filter::proto::UrlPatternType. |
| 4 enum UrlPatternType : ubyte { | 4 enum UrlPatternType : ubyte { |
| 5 SUBSTRING, | 5 SUBSTRING, |
| 6 WILDCARDED, | 6 WILDCARDED, |
| 7 REGEXP, | 7 REGEXP, |
| 8 } | 8 } |
| 9 | 9 |
| 10 // Corresponds to subresource_filter::proto::AnchorType. | 10 // Corresponds to subresource_filter::proto::AnchorType. |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 46 anchor_left : AnchorType = NONE; | 46 anchor_left : AnchorType = NONE; |
| 47 anchor_right : AnchorType = NONE; | 47 anchor_right : AnchorType = NONE; |
| 48 | 48 |
| 49 // The list of domains to be included/excluded from the filter's affected set. | 49 // The list of domains to be included/excluded from the filter's affected set. |
| 50 // If a particular string in the list starts with '~' then the respective | 50 // If a particular string in the list starts with '~' then the respective |
| 51 // domain is excluded, otherwise included. | 51 // domain is excluded, otherwise included. |
| 52 domains : [string]; | 52 domains : [string]; |
| 53 | 53 |
| 54 // A URL pattern in the format defined by |url_pattern_type|. | 54 // A URL pattern in the format defined by |url_pattern_type|. |
| 55 url_pattern : string; | 55 url_pattern : string; |
| 56 | |
| 57 // The compound Knuth-Morris-Pratt failure function corresponding to | |
| 58 // |url_pattern|. Used for SUBSTRING and WILDCARDED URL patterns only. | |
| 59 // | |
| 60 // The |url_pattern| is split into subpatterns separated by a '*' wildcard. | |
| 61 // Then for each subpattern a failure function of the KMP algorithm is built, | |
| 62 // with the caveat that if some subpattern contains at least one '^' | |
| 63 // placeholder, all the separator characters in this subpattern are | |
| 64 // considered equivalent, and the failure function subarray is prefixed with | |
| 65 // the value 1. | |
| 66 // | |
| 67 // The failure functions of subpatterns are stored sequentially in the | |
| 68 // |failure_function| array. Some subpatterns, however, will not have a | |
| 69 // corresponding failure function, e.g. the first subpattern if the rule's | |
| 70 // |anchor_left| is BOUNDARY. | |
| 71 failure_function : [ubyte]; | |
| 72 } | 56 } |
| 73 | 57 |
| 74 // Contains an N-gram (acting as a key in a hash table) and a list of URL rules | 58 // Contains an N-gram (acting as a key in a hash table) and a list of URL rules |
| 75 // associated with that N-gram. | 59 // associated with that N-gram. |
| 76 table NGramToRules { | 60 table NGramToRules { |
| 77 // A string consisting of N (up to 8) non-special characters, which are stored | 61 // A string consisting of N (up to 8) non-special characters, which are stored |
| 78 // in the lowest N non-zero bytes, lower bytes corresponding to later symbols. | 62 // in the lowest N non-zero bytes, lower bytes corresponding to later symbols. |
| 79 ngram : ulong; | 63 ngram : ulong; |
| 80 | 64 |
| 81 // The list of rules containing |ngram| as a substring of their URL pattern. | 65 // The list of rules containing |ngram| as a substring of their URL pattern. |
| (...skipping 26 matching lines...) Expand all Loading... |
| 108 // The top-level data structure used to store URL rules. | 92 // The top-level data structure used to store URL rules. |
| 109 table IndexedRuleset { | 93 table IndexedRuleset { |
| 110 // The index of all blacklist URL rules. | 94 // The index of all blacklist URL rules. |
| 111 blacklist_index : UrlPatternIndex; | 95 blacklist_index : UrlPatternIndex; |
| 112 | 96 |
| 113 // The index of all whitelist URL rules. | 97 // The index of all whitelist URL rules. |
| 114 whitelist_index : UrlPatternIndex; | 98 whitelist_index : UrlPatternIndex; |
| 115 } | 99 } |
| 116 | 100 |
| 117 root_type IndexedRuleset; | 101 root_type IndexedRuleset; |
| OLD | NEW |