MathMLSelectElement.h [plain text]
#ifndef MathMLSelectElement_h
#define MathMLSelectElement_h
#if ENABLE(MATHML)
#include "MathMLInlineContainerElement.h"
namespace WebCore {
class MathMLSelectElement final : public MathMLInlineContainerElement {
public:
static PassRefPtr<MathMLSelectElement> create(const QualifiedName& tagName, Document&);
static bool isMathMLEncoding(const AtomicString& value);
static bool isSVGEncoding(const AtomicString& value);
static bool isHTMLEncoding(const AtomicString& value);
private:
MathMLSelectElement(const QualifiedName& tagName, Document&);
virtual RenderPtr<RenderElement> createElementRenderer(PassRef<RenderStyle>) override;
virtual bool childShouldCreateRenderer(const Node&) const override;
virtual void finishParsingChildren() override;
virtual void childrenChanged(const ChildChange&) override;
virtual void attributeChanged(const QualifiedName&, const AtomicString& oldValue, const AtomicString& newValue, AttributeModificationReason = ModifiedDirectly) override;
virtual void defaultEventHandler(Event*) override;
virtual bool willRespondToMouseClickEvents() override;
void toggle();
int getSelectedActionChildAndIndex(Element*& selectedChild);
Element* getSelectedActionChild();
Element* getSelectedSemanticsChild();
void updateSelectedChild() override;
Element* m_selectedChild;
};
}
#endif // ENABLE(MATHML)
#endif // MathMLSelectElement_h