chromium/third_party/blink/renderer/core/dom/shadow_including_tree_order_traversal.h

// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_DOM_SHADOW_INCLUDING_TREE_ORDER_TRAVERSAL_H_
#define THIRD_PARTY_BLINK_RENDERER_CORE_DOM_SHADOW_INCLUDING_TREE_ORDER_TRAVERSAL_H_

#include "third_party/blink/renderer/core/core_export.h"
#include "third_party/blink/renderer/core/dom/node.h"
#include "third_party/blink/renderer/core/dom/shadow_root.h"
#include "third_party/blink/renderer/core/dom/traversal_range.h"
#include "third_party/blink/renderer/platform/wtf/allocator/allocator.h"

namespace blink {

// Does a traversal of the tree in "shadow-including tree order", see
// https://dom.spec.whatwg.org/#concept-shadow-including-tree-order for
// definition.
class CORE_EXPORT ShadowIncludingTreeOrderTraversal {};

inline Node* ShadowIncludingTreeOrderTraversal::Next(const Node& current,
                                                     const Node* stay_within) {}

inline Node* ShadowIncludingTreeOrderTraversal::NextSibling(const Node& node) {}

inline Node* ShadowIncludingTreeOrderTraversal::FirstWithin(
    const Node& current) {}

inline TraversalSiblingRange<ShadowIncludingTreeOrderTraversal>
ShadowIncludingTreeOrderTraversal::ChildrenOf(const Node& parent) {}

inline TraversalDescendantRange<ShadowIncludingTreeOrderTraversal>
ShadowIncludingTreeOrderTraversal::DescendantsOf(const Node& root) {}

inline TraversalInclusiveDescendantRange<ShadowIncludingTreeOrderTraversal>
ShadowIncludingTreeOrderTraversal::InclusiveDescendantsOf(const Node& root) {}

inline Node* ShadowIncludingTreeOrderTraversal::TraverseParent(
    const Node& current) {}

inline Node* ShadowIncludingTreeOrderTraversal::TraverseNextSibling(
    const Node& current) {}

}  // namespace blink

#endif  // THIRD_PARTY_BLINK_RENDERER_CORE_DOM_SHADOW_INCLUDING_TREE_ORDER_TRAVERSAL_H_