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&);
ScrollbarMode scrollingMode() const final { return m_scrolling; }
int marginWidth() const { return m_marginWidth; }
int marginHeight() const { return m_marginHeight; }
int width();
int height();
bool canContainRangeEndPoint() const final { return false; }
protected:
HTMLFrameElementBase(const QualifiedName&, Document&);
bool isURLAllowed() const;
void parseAttribute(const QualifiedName&, const AtomicString&) override;
InsertionNotificationRequest insertedInto(ContainerNode&) final;
void finishedInsertingSubtree() final;
void didAttachRenderers() override;
private:
bool supportsFocus() const final;
void setFocus(bool) final;
bool isURLAttribute(const Attribute&) const final;
bool isHTMLContentAttribute(const Attribute&) const final;
bool isFrameElementBase() const final { 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;
};
}
SPECIALIZE_TYPE_TRAITS_BEGIN(WebCore::HTMLFrameElementBase)
static bool isType(const WebCore::HTMLElement& element) { return is<WebCore::HTMLFrameElement>(element) || is<WebCore::HTMLIFrameElement>(element); }
static bool isType(const WebCore::Node& node) { return is<WebCore::HTMLElement>(node) && isType(downcast<WebCore::HTMLElement>(node)); }
SPECIALIZE_TYPE_TRAITS_END()
#endif // HTMLFrameElementBase_h