var searchIndex = {}; searchIndex["selectors"] = {"doc":"","items":[[0,"bloom","selectors","Simple counting bloom filters.",null,null],[3,"BloomFilter","selectors::bloom","A counting Bloom filter with 8-bit counters. For now we assume\nthat having two hash functions is enough, but we may revisit that\ndecision later.",null,null],[8,"BloomHash","","",null,null],[10,"bloom_hash","","",0,null],[11,"clone","","",1,null],[11,"new","","Creates a new bloom filter.",1,{"inputs":[],"output":{"name":"bloomfilter"}}],[11,"clear","","",1,null],[11,"insert","","Inserts an item into the bloom filter.",1,null],[11,"remove","","Removes an item from the bloom filter.",1,null],[11,"might_contain","","Check whether the filter might contain an item. This can\nsometimes return true even if the item is not in the filter,\nbut will never return false for items that are actually in the\nfilter.",1,null],[0,"matching","selectors","",null,null],[3,"SelectorMap","selectors::matching","Map element data to Rules whose last simple selector starts with them.",null,null],[3,"Rule","","",null,null],[12,"selector","","",2,null],[12,"declarations","","",2,null],[3,"DeclarationBlock","","A property declaration together with its precedence among rules of equal specificity so that\nwe can sort them.",null,null],[12,"declarations","","",3,null],[12,"source_order","","",3,null],[12,"specificity","","",3,null],[3,"StyleRelations","","Set of flags that determine the different kind of elements affected by\nthe selector matching process.",null,null],[3,"ElementFlags","","Set of flags that are set on the parent depending on whether a child\nmatches a selector.",null,null],[5,"matches","","",null,null],[5,"matches_compound_selector","","Determines whether the given element matches the given single or compound selector.",null,{"inputs":[{"name":"compoundselector"},{"name":"e"},{"name":"option"},{"name":"stylerelations"}],"output":{"name":"bool"}}],[5,"matches_simple_selector","","Determines whether the given element matches the given single selector.",null,{"inputs":[{"name":"simpleselector"},{"name":"e"},{"name":"stylerelations"}],"output":{"name":"bool"}}],[7,"RECOMMENDED_SELECTOR_BLOOM_FILTER_SIZE","","",null,null],[17,"AFFECTED_BY_SIBLINGS","","Whether this element has matched any rule that is determined by a\nsibling (when using the `+` or `~` combinators).",null,null],[17,"AFFECTED_BY_CHILD_INDEX","","Whether this element has matched any rule whose matching is\ndetermined by its position in the tree (i.e., first-child,\nnth-child, etc.).",null,null],[17,"AFFECTED_BY_STATE","","Whether this flag is affected by any state (i.e., non\ntree-structural pseudo-class).",null,null],[17,"AFFECTED_BY_ID_SELECTOR","","Whether this element is affected by an ID selector.",null,null],[17,"AFFECTED_BY_NON_COMMON_STYLE_AFFECTING_ATTRIBUTE_SELECTOR","","Whether this element is affected by a non-common style-affecting\nattribute.",null,null],[17,"AFFECTED_BY_EMPTY","","Whether this element matches the :empty pseudo class.",null,null],[17,"AFFECTED_BY_STYLE_ATTRIBUTE","","Whether this element has a style attribute. Computed\nexternally.",null,null],[17,"AFFECTED_BY_PRESENTATIONAL_HINTS","","Whether this element is affected by presentational hints. This is\ncomputed externally (that is, in Servo).",null,null],[17,"AFFECTED_BY_PSEUDO_ELEMENTS","","Whether this element has pseudo-element styles. Computed externally.",null,null],[17,"HAS_SLOW_SELECTOR","","When a child is added or removed from this element, all the children\nmust be restyled, because they may match :nth-last-child,\n:last-of-type, :nth-last-of-type, or :only-of-type.",null,null],[17,"HAS_SLOW_SELECTOR_LATER_SIBLINGS","","When a child is added or removed from this element, any later\nchildren must be restyled, because they may match :nth-child,\n:first-of-type, or :nth-of-type.",null,null],[17,"HAS_EDGE_CHILD_SELECTOR","","When a child is added or removed from this element, the first and\nlast children must be restyled, because they may match :first-child,\n:last-child, or :only-child.",null,null],[11,"fmt","","",4,null],[11,"new","","",4,{"inputs":[],"output":{"name":"selectormap"}}],[11,"get_all_matching_rules","","Append to `rule_list` all Rules in `self` that match element.",4,null],[11,"get_universal_rules","","Append to `rule_list` all universal Rules (rules with selector `*|*`) in\n`self` sorted by specifity and source order.",4,null],[11,"insert","","Insert rule into the correct hash.\nOrder in which to try: id_hash, class_hash, local_name_hash, other_rules.",4,null],[11,"fmt","","",2,null],[11,"fmt","","",3,null],[11,"clone","","",3,null],[11,"clone","","",2,null],[11,"from_declarations","","",3,{"inputs":[{"name":"arc"}],"output":{"name":"declarationblock"}}],[11,"hash","","",5,null],[11,"cmp","","",5,null],[11,"partial_cmp","","",5,null],[11,"lt","","",5,null],[11,"le","","",5,null],[11,"gt","","",5,null],[11,"ge","","",5,null],[11,"clone","","",5,null],[11,"eq","","",5,null],[11,"ne","","",5,null],[11,"fmt","","",5,null],[11,"empty","","Returns an empty set of flags.",5,{"inputs":[],"output":{"name":"stylerelations"}}],[11,"all","","Returns the set containing all flags.",5,{"inputs":[],"output":{"name":"stylerelations"}}],[11,"bits","","Returns the raw value of the flags currently stored.",5,null],[11,"from_bits","","Convert from underlying bit representation, unless that\nrepresentation contains bits that do not correspond to a flag.",5,{"inputs":[{"name":"u16"}],"output":{"name":"option"}}],[11,"from_bits_truncate","","Convert from underlying bit representation, dropping any bits\nthat do not correspond to flags.",5,{"inputs":[{"name":"u16"}],"output":{"name":"stylerelations"}}],[11,"is_empty","","Returns `true` if no flags are currently stored.",5,null],[11,"is_all","","Returns `true` if all flags are currently set.",5,null],[11,"intersects","","Returns `true` if there are flags common to both `self` and `other`.",5,null],[11,"contains","","Returns `true` all of the flags in `other` are contained within `self`.",5,null],[11,"insert","","Inserts the specified flags in-place.",5,null],[11,"remove","","Removes the specified flags in-place.",5,null],[11,"toggle","","Toggles the specified flags in-place.",5,null],[11,"bitor","","Returns the union of the two sets of flags.",5,null],[11,"bitor_assign","","Adds the set of flags.",5,null],[11,"bitxor","","Returns the left flags, but with all the right flags toggled.",5,null],[11,"bitxor_assign","","Toggles the set of flags.",5,null],[11,"bitand","","Returns the intersection between the two sets of flags.",5,null],[11,"bitand_assign","","Disables all flags disabled in the set.",5,null],[11,"sub","","Returns the set difference of the two sets of flags.",5,null],[11,"sub_assign","","Disables all flags enabled in the set.",5,null],[11,"not","","Returns the complement of this set of flags.",5,null],[11,"extend","","",5,null],[11,"from_iter","","",5,{"inputs":[{"name":"t"}],"output":{"name":"stylerelations"}}],[11,"hash","","",6,null],[11,"cmp","","",6,null],[11,"partial_cmp","","",6,null],[11,"lt","","",6,null],[11,"le","","",6,null],[11,"gt","","",6,null],[11,"ge","","",6,null],[11,"clone","","",6,null],[11,"eq","","",6,null],[11,"ne","","",6,null],[11,"fmt","","",6,null],[11,"empty","","Returns an empty set of flags.",6,{"inputs":[],"output":{"name":"elementflags"}}],[11,"all","","Returns the set containing all flags.",6,{"inputs":[],"output":{"name":"elementflags"}}],[11,"bits","","Returns the raw value of the flags currently stored.",6,null],[11,"from_bits","","Convert from underlying bit representation, unless that\nrepresentation contains bits that do not correspond to a flag.",6,{"inputs":[{"name":"u8"}],"output":{"name":"option"}}],[11,"from_bits_truncate","","Convert from underlying bit representation, dropping any bits\nthat do not correspond to flags.",6,{"inputs":[{"name":"u8"}],"output":{"name":"elementflags"}}],[11,"is_empty","","Returns `true` if no flags are currently stored.",6,null],[11,"is_all","","Returns `true` if all flags are currently set.",6,null],[11,"intersects","","Returns `true` if there are flags common to both `self` and `other`.",6,null],[11,"contains","","Returns `true` all of the flags in `other` are contained within `self`.",6,null],[11,"insert","","Inserts the specified flags in-place.",6,null],[11,"remove","","Removes the specified flags in-place.",6,null],[11,"toggle","","Toggles the specified flags in-place.",6,null],[11,"bitor","","Returns the union of the two sets of flags.",6,null],[11,"bitor_assign","","Adds the set of flags.",6,null],[11,"bitxor","","Returns the left flags, but with all the right flags toggled.",6,null],[11,"bitxor_assign","","Toggles the set of flags.",6,null],[11,"bitand","","Returns the intersection between the two sets of flags.",6,null],[11,"bitand_assign","","Disables all flags disabled in the set.",6,null],[11,"sub","","Returns the set difference of the two sets of flags.",6,null],[11,"sub_assign","","Disables all flags enabled in the set.",6,null],[11,"not","","Returns the complement of this set of flags.",6,null],[11,"extend","","",6,null],[11,"from_iter","","",6,{"inputs":[{"name":"t"}],"output":{"name":"elementflags"}}],[0,"parser","selectors","",null,null],[3,"ParserContext","selectors::parser","",null,null],[12,"in_user_agent_stylesheet","","",7,null],[12,"default_namespace","","",7,null],[12,"namespace_prefixes","","",7,null],[3,"Selector","","",null,null],[12,"compound_selectors","","",8,null],[12,"pseudo_element","","",8,null],[12,"specificity","","",8,null],[3,"CompoundSelector","","",null,null],[12,"simple_selectors","","",9,null],[12,"next","","",9,null],[3,"LocalName","","",null,null],[12,"name","","",10,null],[12,"lower_name","","",10,null],[3,"AttrSelector","","",null,null],[12,"name","","",11,null],[12,"lower_name","","",11,null],[12,"namespace","","",11,null],[3,"Namespace","","FIXME(SimonSapin): should Hash only hash the URL? What is it used for?",null,null],[12,"prefix","","",12,null],[12,"url","","",12,null],[4,"Combinator","","",null,null],[13,"Child","","",13,null],[13,"Descendant","","",13,null],[13,"NextSibling","","",13,null],[13,"LaterSibling","","",13,null],[4,"SimpleSelector","","",null,null],[13,"ID","","",14,null],[13,"Class","","",14,null],[13,"LocalName","","",14,null],[13,"Namespace","","",14,null],[13,"AttrExists","","",14,null],[13,"AttrEqual","","",14,null],[13,"AttrIncludes","","",14,null],[13,"AttrDashMatch","","",14,null],[13,"AttrPrefixMatch","","",14,null],[13,"AttrSubstringMatch","","",14,null],[13,"AttrSuffixMatch","","",14,null],[13,"Negation","","",14,null],[13,"FirstChild","","",14,null],[13,"LastChild","","",14,null],[13,"OnlyChild","","",14,null],[13,"Root","","",14,null],[13,"Empty","","",14,null],[13,"NthChild","","",14,null],[13,"NthLastChild","","",14,null],[13,"NthOfType","","",14,null],[13,"NthLastOfType","","",14,null],[13,"FirstOfType","","",14,null],[13,"LastOfType","","",14,null],[13,"OnlyOfType","","",14,null],[13,"NonTSPseudoClass","","",14,null],[4,"CaseSensitivity","","",null,null],[13,"CaseSensitive","","",15,null],[13,"CaseInsensitive","","",15,null],[4,"NamespaceConstraint","","",null,null],[13,"Any","","",16,null],[13,"Specific","","",16,null],[5,"parse_author_origin_selector_list_from_str","","",null,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[5,"parse_selector_list","","Parse a comma-separated list of Selectors.\naka Selector Group in http://www.w3.org/TR/css3-selectors/#grouping",null,{"inputs":[{"name":"parsercontext"},{"name":"parser"}],"output":{"name":"result"}}],[8,"MaybeHeapSizeOf","","An empty trait that requires `HeapSizeOf` if the `heap_size` Cargo feature is enabled.",null,null],[8,"FromCowStr","","Although it could, String does not implement From<Cow<str>>",null,null],[10,"from_cow_str","","",17,{"inputs":[{"name":"cow"}],"output":{"name":"self"}}],[8,"SelectorImpl","","This trait allows to define the parser implementation in regards\nof pseudo-classes/elements",null,null],[16,"AttrValue","","",18,null],[16,"Identifier","","",18,null],[16,"ClassName","","",18,null],[16,"LocalName","","",18,null],[16,"NamespaceUrl","","",18,null],[16,"NamespacePrefix","","",18,null],[16,"BorrowedNamespaceUrl","","",18,null],[16,"BorrowedLocalName","","",18,null],[11,"attr_exists_selector_is_shareable","","Declares if the following "attribute exists" selector is considered\n"common" enough to be shareable. If that's not the case, when matching\nover an element, the relation\nAFFECTED_BY_NON_COMMON_STYLE_AFFECTING_ATTRIBUTE would be set.",18,{"inputs":[{"name":"attrselector"}],"output":{"name":"bool"}}],[11,"attr_equals_selector_is_shareable","","Declares if the following "equals" attribute selector is considered\n"common" enough to be shareable.",18,{"inputs":[{"name":"attrselector"},{"name":"attrvalue"}],"output":{"name":"bool"}}],[16,"NonTSPseudoClass","","non tree-structural pseudo-classes\n(see: https://drafts.csswg.org/selectors/#structural-pseudos)",18,null],[11,"parse_non_ts_pseudo_class","","This function can return an "Err" pseudo-element in order to support CSS2.1\npseudo-elements.",18,{"inputs":[{"name":"parsercontext"},{"name":"str"}],"output":{"name":"result"}}],[11,"parse_non_ts_functional_pseudo_class","","",18,{"inputs":[{"name":"parsercontext"},{"name":"str"},{"name":"parser"}],"output":{"name":"result"}}],[16,"PseudoElement","","pseudo-elements",18,null],[11,"parse_pseudo_element","","",18,{"inputs":[{"name":"parsercontext"},{"name":"str"}],"output":{"name":"result"}}],[11,"new","","",7,{"inputs":[],"output":{"name":"self"}}],[11,"clone","","",8,null],[11,"eq","","",8,null],[11,"ne","","",8,null],[11,"affects_siblings","","Whether this selector, if matching on a set of siblings, could affect\nother sibling's style.",8,null],[11,"matches_non_common_style_affecting_attribute","","",8,null],[11,"clone","","",9,null],[11,"eq","","",9,null],[11,"ne","","",9,null],[11,"clone","","",13,null],[11,"eq","","",13,null],[11,"hash","","",14,null],[11,"clone","","",14,null],[11,"eq","","",14,null],[11,"ne","","",14,null],[11,"fmt","","",15,null],[11,"hash","","",15,null],[11,"clone","","",15,null],[11,"eq","","",15,null],[11,"hash","","",10,null],[11,"clone","","",10,null],[11,"eq","","",10,null],[11,"ne","","",10,null],[11,"hash","","",11,null],[11,"clone","","",11,null],[11,"eq","","",11,null],[11,"ne","","",11,null],[11,"fmt","","",16,null],[11,"hash","","",16,null],[11,"clone","","",16,null],[11,"eq","","",16,null],[11,"ne","","",16,null],[11,"hash","","",12,null],[11,"clone","","",12,null],[11,"eq","","",12,null],[11,"ne","","",12,null],[11,"default","","",12,{"inputs":[],"output":{"name":"self"}}],[11,"fmt","","",8,null],[11,"fmt","","",9,null],[11,"fmt","","",14,null],[11,"fmt","","",11,null],[11,"fmt","","",12,null],[11,"to_css","","",8,null],[11,"to_css","","",9,null],[11,"to_css","","",13,null],[11,"to_css","","",14,null],[11,"to_css","","",11,null],[11,"to_css","","",12,null],[6,"HashMap","selectors","",null,null],[8,"Element","","",null,null],[10,"parent_element","","",19,null],[10,"first_child_element","","",19,null],[10,"last_child_element","","",19,null],[10,"prev_sibling_element","","",19,null],[10,"next_sibling_element","","",19,null],[10,"is_html_element_in_html_document","","",19,null],[10,"get_local_name","","",19,null],[10,"get_namespace","","",19,null],[10,"match_non_ts_pseudo_class","","",19,null],[10,"get_id","","",19,null],[10,"has_class","","",19,null],[10,"is_empty","","Returns whether this element matches `:empty`.",19,null],[10,"is_root","","Returns whether this element matches `:root`,\ni.e. whether it is the root element of a document.",19,null],[10,"each_class","","",19,null],[11,"insert_flags","","Add flags to the element. See the `ElementFlags` docs for details.",19,null],[8,"MatchAttr","","",null,null],[16,"Impl","","",20,null],[10,"match_attr_has","","",20,null],[10,"match_attr_equals","","",20,null],[10,"match_attr_equals_ignore_ascii_case","","",20,null],[10,"match_attr_includes","","",20,null],[10,"match_attr_dash","","",20,null],[10,"match_attr_prefix","","",20,null],[10,"match_attr_substring","","",20,null],[10,"match_attr_suffix","","",20,null],[8,"MatchAttrGeneric","","",null,null],[16,"Impl","","",21,null],[10,"match_attr","","",21,null],[11,"insert_flags","","Add flags to the element. See the `ElementFlags` docs for details.",19,null]],"paths":[[8,"BloomHash"],[3,"BloomFilter"],[3,"Rule"],[3,"DeclarationBlock"],[3,"SelectorMap"],[3,"StyleRelations"],[3,"ElementFlags"],[3,"ParserContext"],[3,"Selector"],[3,"CompoundSelector"],[3,"LocalName"],[3,"AttrSelector"],[3,"Namespace"],[4,"Combinator"],[4,"SimpleSelector"],[4,"CaseSensitivity"],[4,"NamespaceConstraint"],[8,"FromCowStr"],[8,"SelectorImpl"],[8,"Element"],[8,"MatchAttr"],[8,"MatchAttrGeneric"]]}; initSearch(searchIndex);