1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-23 05:47:36 +00:00

LibWeb: Make HTMLIFrameElement.contentWindow return the WindowProxy

This fixes an issue where contentWindow was not accessible immediately
after programmatically creating an iframe element.
This commit is contained in:
Andreas Kling 2022-11-04 10:05:10 +01:00
parent 4de3449ad6
commit ac329d0a18
3 changed files with 5 additions and 8 deletions

View file

@ -109,13 +109,11 @@ const DOM::Document* BrowsingContextContainer::get_svg_document() const
return nullptr; return nullptr;
} }
HTML::Window* BrowsingContextContainer::content_window() const HTML::WindowProxy* BrowsingContextContainer::content_window()
{ {
// FIXME: This should return the WindowProxy if (!m_nested_browsing_context)
auto* document = content_document();
if (!document)
return nullptr; return nullptr;
return const_cast<HTML::Window*>(&document->window()); return m_nested_browsing_context->window_proxy();
} }
// https://html.spec.whatwg.org/multipage/urls-and-fetching.html#matches-about:blank // https://html.spec.whatwg.org/multipage/urls-and-fetching.html#matches-about:blank

View file

@ -24,7 +24,7 @@ public:
const DOM::Document* content_document() const; const DOM::Document* content_document() const;
DOM::Document const* content_document_without_origin_check() const; DOM::Document const* content_document_without_origin_check() const;
HTML::Window* content_window() const; HTML::WindowProxy* content_window();
DOM::Document const* get_svg_document() const; DOM::Document const* get_svg_document() const;

View file

@ -15,8 +15,7 @@ interface HTMLIFrameElement : HTMLElement {
readonly attribute Document? contentDocument; readonly attribute Document? contentDocument;
// FIXME: Should return a WindowProxy? readonly attribute WindowProxy? contentWindow;
readonly attribute Window? contentWindow;
[Reflect] attribute DOMString align; [Reflect] attribute DOMString align;
[Reflect] attribute DOMString scrolling; [Reflect] attribute DOMString scrolling;