#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_DOM_CONTAINER_NODE_H_
#define THIRD_PARTY_BLINK_RENDERER_CORE_DOM_CONTAINER_NODE_H_
#include "base/functional/function_ref.h"
#include "third_party/blink/public/mojom/input/focus_type.mojom-blink-forward.h"
#include "third_party/blink/renderer/core/core_export.h"
#include "third_party/blink/renderer/core/css/css_value.h"
#include "third_party/blink/renderer/core/css/style_recalc_change.h"
#include "third_party/blink/renderer/core/dom/node.h"
#include "third_party/blink/renderer/core/dom/static_node_list.h"
#include "third_party/blink/renderer/core/html/collection_type.h"
#include "third_party/blink/renderer/platform/wtf/casting.h"
#include "third_party/blink/renderer/platform/wtf/vector.h"
namespace blink {
class Element;
class ExceptionState;
class GetHTMLOptions;
class GetInnerHTMLOptions;
class HTMLCollection;
class RadioNodeList;
class StyleRecalcContext;
class WhitespaceAttacher;
StaticElementList;
enum class DynamicRestyleFlags { … };
enum SubtreeModificationAction { … };
const int kInitialNodeVectorSize = …;
NodeVector;
class CORE_EXPORT ContainerNode : public Node { … };
template <>
struct DowncastTraits<ContainerNode> { … };
inline bool ContainerNode::HasChildCount(unsigned count) const { … }
inline ContainerNode::ContainerNode(TreeScope* tree_scope,
ConstructionType type)
: … { … }
inline bool ContainerNode::NeedsAdjacentStyleRecalc() const { … }
inline unsigned Node::CountChildren() const { … }
inline Node* Node::firstChild() const { … }
inline Node* Node::lastChild() const { … }
inline ContainerNode* Node::ParentElementOrShadowRoot() const { … }
inline ContainerNode* Node::ParentElementOrDocumentFragment() const { … }
inline bool Node::IsTreeScope() const { … }
inline void GetChildNodes(ContainerNode& node, NodeVector& nodes) { … }
}
#endif