HTMLIFrameElement.h [plain text]
#pragma once
#include "FeaturePolicy.h"
#include "HTMLFrameElementBase.h"
namespace WebCore {
class DOMTokenList;
class LazyLoadFrameObserver;
class RenderIFrame;
class HTMLIFrameElement final : public HTMLFrameElementBase {
WTF_MAKE_ISO_ALLOCATED(HTMLIFrameElement);
public:
static Ref<HTMLIFrameElement> create(const QualifiedName&, Document&);
DOMTokenList& sandbox();
RenderIFrame* renderer() const;
void setReferrerPolicyForBindings(const AtomString&);
String referrerPolicyForBindings() const;
ReferrerPolicy referrerPolicy() const final;
const FeaturePolicy& featurePolicy() const;
const AtomString& loadingForBindings() const;
void setLoadingForBindings(const AtomString&);
LazyLoadFrameObserver& lazyLoadFrameObserver();
void loadDeferredFrame();
private:
HTMLIFrameElement(const QualifiedName&, Document&);
int defaultTabIndex() const final;
void parseAttribute(const QualifiedName&, const AtomString&) final;
bool isPresentationAttribute(const QualifiedName&) const final;
void collectStyleForPresentationAttribute(const QualifiedName&, const AtomString&, MutableStyleProperties&) final;
bool isInteractiveContent() const final { return true; }
bool rendererIsNeeded(const RenderStyle&) final;
RenderPtr<RenderElement> createElementRenderer(RenderStyle&&, const RenderTreePosition&) final;
bool shouldLoadFrameLazily() final;
bool isLazyLoadObserverActive() const final;
std::unique_ptr<DOMTokenList> m_sandbox;
mutable Optional<FeaturePolicy> m_featurePolicy;
std::unique_ptr<LazyLoadFrameObserver> m_lazyLoadFrameObserver;
};
}