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 final { return m_scrolling; }
int marginWidth() const { return m_marginWidth; }
int marginHeight() const { return m_marginHeight; }
int width();
int height();
virtual bool canContainRangeEndPoint() const override final { return false; }
protected:
HTMLFrameElementBase(const QualifiedName&, Document&);
bool isURLAllowed() const;
virtual void parseAttribute(const QualifiedName&, const AtomicString&) override;
virtual InsertionNotificationRequest insertedInto(ContainerNode&) override final;
virtual void finishedInsertingSubtree() override final;
virtual void didAttachRenderers() override;
private:
virtual bool supportsFocus() const override final;
virtual void setFocus(bool) override final;
virtual bool isURLAttribute(const Attribute&) const override final;
virtual bool isHTMLContentAttribute(const Attribute&) const override final;
virtual bool isFrameElementBase() const override 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