HTMLFrameSetElement.h [plain text]
#pragma once
#include "HTMLElement.h"
#include <wtf/UniqueArray.h>
namespace WebCore {
class HTMLFrameSetElement final : public HTMLElement {
WTF_MAKE_ISO_ALLOCATED(HTMLFrameSetElement);
public:
static Ref<HTMLFrameSetElement> create(const QualifiedName&, Document&);
bool hasFrameBorder() const { return m_frameborder; }
bool noResize() const { return m_noresize; }
int totalRows() const { return m_totalRows; }
int totalCols() const { return m_totalCols; }
int border() const { return hasFrameBorder() ? m_border : 0; }
bool hasBorderColor() const { return m_borderColorSet; }
const Length* rowLengths() const { return m_rowLengths.get(); }
const Length* colLengths() const { return m_colLengths.get(); }
static RefPtr<HTMLFrameSetElement> findContaining(Element* descendant);
Vector<AtomString> supportedPropertyNames() const;
WindowProxy* namedItem(const AtomString&);
private:
HTMLFrameSetElement(const QualifiedName&, Document&);
void parseAttribute(const QualifiedName&, const AtomString&) final;
bool isPresentationAttribute(const QualifiedName&) const final;
void collectStyleForPresentationAttribute(const QualifiedName&, const AtomString&, MutableStyleProperties&) final;
void willAttachRenderers() final;
bool rendererIsNeeded(const RenderStyle&) final;
RenderPtr<RenderElement> createElementRenderer(RenderStyle&&, const RenderTreePosition&) final;
void defaultEventHandler(Event&) final;
void willRecalcStyle(Style::Change) final;
InsertedIntoAncestorResult insertedIntoAncestor(InsertionType, ContainerNode&) final;
void removedFromAncestor(RemovalType, ContainerNode&) final;
UniqueArray<Length> m_rowLengths;
UniqueArray<Length> m_colLengths;
int m_totalRows;
int m_totalCols;
int m_border;
bool m_borderSet;
bool m_borderColorSet;
bool m_frameborder;
bool m_frameborderSet;
bool m_noresize;
};
}