#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_HTML_HTML_ELEMENT_H_
#define THIRD_PARTY_BLINK_RENDERER_CORE_HTML_HTML_ELEMENT_H_
#include <optional>
#include "third_party/blink/renderer/bindings/core/v8/v8_union_boolean_string_unrestricteddouble.h"
#include "third_party/blink/renderer/core/core_export.h"
#include "third_party/blink/renderer/core/dom/element.h"
#include "third_party/blink/renderer/core/dom/events/simulated_click_options.h"
#include "third_party/blink/renderer/core/html/forms/labels_node_list.h"
#include "third_party/blink/renderer/platform/heap/collection_support/heap_hash_set.h"
#include "third_party/blink/renderer/platform/text/text_direction.h"
#include "third_party/blink/renderer/platform/wtf/casting.h"
#include "third_party/blink/renderer/platform/wtf/text/atomic_string.h"
namespace blink {
struct AttributeTriggers;
class Color;
class DocumentFragment;
class ElementInternals;
class ExceptionState;
class FormAssociated;
class HTMLFormElement;
class HTMLSelectListElement;
class KeyboardEvent;
class TextControlElement;
class V8UnionStringLegacyNullToEmptyStringOrTrustedScript;
enum TranslateAttributeMode { … };
enum class ContentEditableType { … };
enum class PopoverValueType { … };
enum class PopoverTriggerAction { … };
enum class HidePopoverFocusBehavior { … };
enum class HidePopoverTransitionBehavior { … };
enum class TopLayerElementType { … };
class CORE_EXPORT HTMLElement : public Element { … };
template <>
struct DowncastTraits<HTMLElement> { … };
inline HTMLElement::HTMLElement(const QualifiedName& tag_name,
Document& document,
ConstructionType type = kCreateHTMLElement)
: … { … }
inline bool Node::HasTagName(const HTMLQualifiedName& name) const { … }
class HasHTMLTagName { … };
}
#include "third_party/blink/renderer/core/html_element_type_helpers.h"
#endif