HTMLFrameElementBase.h [plain text]
#ifndef HTMLFrameElementBase_h
#define HTMLFrameElementBase_h
#include "FrameLoaderTypes.h"
#include "HTMLFrameOwnerElement.h"
#include "ScrollTypes.h"
namespace WebCore {
class HTMLFrameElementBase : public HTMLFrameOwnerElement {
public:
URL location() const;
void setLocation(const String&);
virtual ScrollbarMode scrollingMode() const override { return m_scrolling; }
int marginWidth() const { return m_marginWidth; }
int marginHeight() const { return m_marginHeight; }
int width();
int height();
virtual bool canContainRangeEndPoint() const override { return false; }
protected:
HTMLFrameElementBase(const QualifiedName&, Document&);
bool isURLAllowed() const;
virtual void parseAttribute(const QualifiedName&, const AtomicString&) override;
virtual InsertionNotificationRequest insertedInto(ContainerNode&) override;
virtual void didNotifySubtreeInsertions(ContainerNode*) override;
virtual void didAttachRenderers() override;
private:
virtual bool supportsFocus() const override;
virtual void setFocus(bool) override;
virtual bool isURLAttribute(const Attribute&) const override;
virtual bool isHTMLContentAttribute(const Attribute&) const override;
virtual bool isFrameElementBase() const override { return true; }
void setNameAndOpenURL();
void openURL(LockHistory = LockHistory::Yes, LockBackForwardList = LockBackForwardList::Yes);
AtomicString m_URL;
AtomicString m_frameName;
ScrollbarMode m_scrolling;
int m_marginWidth;
int m_marginHeight;
};
void isHTMLFrameElementBase(const HTMLFrameElementBase&); inline bool isHTMLFrameElementBase(const Element& element) { return isHTMLFrameElement(element) || isHTMLIFrameElement(element); }
inline bool isHTMLFrameElementBase(const Node& node) { return node.isElementNode() && isHTMLFrameElementBase(toElement(node)); }
NODE_TYPE_CASTS(HTMLFrameElementBase)
}
#endif // HTMLFrameElementBase_h