#include "third_party/blink/renderer/core/css/check_pseudo_has_cache_scope.h"
#include "third_party/blink/renderer/core/css/check_pseudo_has_argument_context.h"
#include "third_party/blink/renderer/core/css/css_selector.h"
#include "third_party/blink/renderer/core/css/selector_checker.h"
#include "third_party/blink/renderer/core/dom/document.h"
#include "third_party/blink/renderer/core/dom/element_traversal.h"
#include "third_party/blink/renderer/platform/wtf/text/string_builder.h"
namespace blink {
CheckPseudoHasCacheScope::CheckPseudoHasCacheScope(
Document* document,
bool within_selector_checking)
: … { … }
CheckPseudoHasCacheScope::~CheckPseudoHasCacheScope() { … }
ElementCheckPseudoHasResultMap& CheckPseudoHasCacheScope::GetResultMap(
const Document* document,
const CSSSelector* selector) { … }
ElementCheckPseudoHasFastRejectFilterMap&
CheckPseudoHasCacheScope::GetFastRejectFilterMap(
const Document* document,
CheckPseudoHasArgumentTraversalType traversal_type) { … }
CheckPseudoHasCacheScope::Context::Context(
const Document* document,
const CheckPseudoHasArgumentContext& argument_context)
: … { … }
CheckPseudoHasResult
CheckPseudoHasCacheScope::Context::SetMatchedAndGetOldResult(Element* element) { … }
void CheckPseudoHasCacheScope::Context::SetChecked(Element* element) { … }
CheckPseudoHasResult CheckPseudoHasCacheScope::Context::SetResultAndGetOld(
Element* element,
CheckPseudoHasResult result) { … }
void CheckPseudoHasCacheScope::Context::SetTraversedElementAsChecked(
Element* traversed_element,
Element* parent) { … }
void CheckPseudoHasCacheScope::Context::SetAllTraversedElementsAsChecked(
Element* last_traversed_element,
int last_traversed_depth) { … }
CheckPseudoHasResult CheckPseudoHasCacheScope::Context::GetResult(
Element* element) const { … }
bool CheckPseudoHasCacheScope::Context::
HasSiblingsWithAllDescendantsOrNextSiblingsChecked(Element* element) const { … }
bool CheckPseudoHasCacheScope::Context::
HasAncestorsWithAllDescendantsOrNextSiblingsChecked(
Element* element) const { … }
bool CheckPseudoHasCacheScope::Context::AlreadyChecked(Element* element) const { … }
CheckPseudoHasFastRejectFilter&
CheckPseudoHasCacheScope::Context::EnsureFastRejectFilter(Element* element,
bool& is_new_entry) { … }
size_t
CheckPseudoHasCacheScope::Context::GetBloomFilterAllocationCountForTesting()
const { … }
}