HTMLFrameSetElement.h [plain text]
#ifndef HTMLFrameSetElement_h
#define HTMLFrameSetElement_h
#include "HTMLElement.h"
#include <memory>
namespace WebCore {
class HTMLFrameSetElement final : public HTMLElement {
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 HTMLFrameSetElement* findContaining(Element* descendant);
private:
HTMLFrameSetElement(const QualifiedName&, Document&);
virtual void parseAttribute(const QualifiedName&, const AtomicString&) override;
virtual bool isPresentationAttribute(const QualifiedName&) const override;
virtual void collectStyleForPresentationAttribute(const QualifiedName&, const AtomicString&, MutableStyleProperties&) override;
virtual void willAttachRenderers() override;
virtual bool rendererIsNeeded(const RenderStyle&) override;
virtual RenderPtr<RenderElement> createElementRenderer(Ref<RenderStyle>&&, const RenderTreePosition&) override;
virtual void defaultEventHandler(Event*) override;
virtual bool willRecalcStyle(Style::Change) override;
virtual InsertionNotificationRequest insertedInto(ContainerNode&) override;
virtual void removedFrom(ContainerNode&) override;
std::unique_ptr<Length[]> m_rowLengths;
std::unique_ptr<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;
};
}
#endif // HTMLFrameSetElement_h