LibWeb: Support the X-Frame-Options header

Navigation responses are now checked for adherence to the
`X-Frame-Options` header and an error is shown accordingly.
This commit is contained in:
Glenn Skrzypczak 2024-12-05 00:33:35 +01:00 committed by Tim Ledbetter
commit 156f9fff32
Notes: github-actions[bot] 2024-12-07 08:38:54 +00:00
5 changed files with 88 additions and 3 deletions

View file

@ -5573,6 +5573,18 @@ void Document::reset_cursor_blink_cycle()
m_cursor_blink_timer->restart();
}
// https://html.spec.whatwg.org/multipage/document-sequences.html#doc-container-document
GC::Ptr<DOM::Document> Document::container_document() const
{
// 1. If document's node navigable is null, then return null.
auto node_navigable = navigable();
if (!node_navigable)
return nullptr;
// 2. Return document's node navigable's container document.
return node_navigable->container_document();
}
GC::Ptr<HTML::Navigable> Document::cached_navigable()
{
return m_cached_navigable.ptr();

View file

@ -757,6 +757,8 @@ public:
bool css_styling_flag() const { return m_css_styling_flag; }
void set_css_styling_flag(bool flag) { m_css_styling_flag = flag; }
GC::Ptr<DOM::Document> container_document() const;
protected:
virtual void initialize(JS::Realm&) override;
virtual void visit_edges(Cell::Visitor&) override;