#include "third_party/blink/renderer/core/dom/tree_ordered_map.h"
#include "third_party/blink/renderer/core/dom/element.h"
#include "third_party/blink/renderer/core/dom/element_traversal.h"
#include "third_party/blink/renderer/core/dom/tree_scope.h"
#include "third_party/blink/renderer/core/html/html_map_element.h"
#include "third_party/blink/renderer/core/html/html_slot_element.h"
#include "third_party/blink/renderer/core/html_names.h"
#include "third_party/blink/renderer/platform/heap/persistent.h"
namespace blink {
TreeOrderedMap::TreeOrderedMap() = default;
#if DCHECK_IS_ON()
static int g_remove_scope_level = …;
TreeOrderedMap::RemoveScope::RemoveScope() { … }
TreeOrderedMap::RemoveScope::~RemoveScope() { … }
#endif
inline bool KeyMatchesId(const AtomicString& key, const Element& element) { … }
inline bool KeyMatchesMapName(const AtomicString& key, const Element& element) { … }
inline bool KeyMatchesSlotName(const AtomicString& key,
const Element& element) { … }
void TreeOrderedMap::Add(const AtomicString& key, Element& element) { … }
void TreeOrderedMap::Remove(const AtomicString& key, Element& element) { … }
template <bool keyMatches(const AtomicString&, const Element&)>
inline Element* TreeOrderedMap::Get(const AtomicString& key,
const TreeScope& scope) const { … }
Element* TreeOrderedMap::GetElementById(const AtomicString& key,
const TreeScope& scope) const { … }
const HeapVector<Member<Element>>& TreeOrderedMap::GetAllElementsById(
const AtomicString& key,
const TreeScope& scope) const { … }
Element* TreeOrderedMap::GetElementByMapName(const AtomicString& key,
const TreeScope& scope) const { … }
HTMLSlotElement* TreeOrderedMap::GetSlotByName(const AtomicString& key,
const TreeScope& scope) const { … }
Element* TreeOrderedMap::GetCachedFirstElementWithoutAccessingNodeTree(
const AtomicString& key) { … }
void TreeOrderedMap::Trace(Visitor* visitor) const { … }
void TreeOrderedMap::MapEntry::Trace(Visitor* visitor) const { … }
}