From 71d7c8a3536c59c8f298404e28c09638fff2bab0 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Thu, 9 Sep 2021 02:10:05 +0200 Subject: [PATCH] LibWeb: Add BrowsingContext::container_document() This is the "browsing context container document" from the spec. --- Userland/Libraries/LibWeb/Page/BrowsingContext.cpp | 14 ++++++++++++++ Userland/Libraries/LibWeb/Page/BrowsingContext.h | 3 +++ 2 files changed, 17 insertions(+) diff --git a/Userland/Libraries/LibWeb/Page/BrowsingContext.cpp b/Userland/Libraries/LibWeb/Page/BrowsingContext.cpp index 23a1725ba8..9fd86901ad 100644 --- a/Userland/Libraries/LibWeb/Page/BrowsingContext.cpp +++ b/Userland/Libraries/LibWeb/Page/BrowsingContext.cpp @@ -348,4 +348,18 @@ bool BrowsingContext::decrement_cursor_position_offset() return true; } +DOM::Document* BrowsingContext::container_document() +{ + if (auto* container = this->container()) + return &container->document(); + return nullptr; +} + +DOM::Document const* BrowsingContext::container_document() const +{ + if (auto* container = this->container()) + return &container->document(); + return nullptr; +} + } diff --git a/Userland/Libraries/LibWeb/Page/BrowsingContext.h b/Userland/Libraries/LibWeb/Page/BrowsingContext.h index 509d8a63cf..80acd890f8 100644 --- a/Userland/Libraries/LibWeb/Page/BrowsingContext.h +++ b/Userland/Libraries/LibWeb/Page/BrowsingContext.h @@ -91,6 +91,9 @@ public: void set_frame_nesting_levels(HashMap frame_nesting_levels) { m_frame_nesting_levels = move(frame_nesting_levels); }; HashMap const& frame_nesting_levels() const { return m_frame_nesting_levels; } + DOM::Document* container_document(); + DOM::Document const* container_document() const; + private: explicit BrowsingContext(Page&, HTML::BrowsingContextContainer*, BrowsingContext& top_level_browsing_context); explicit BrowsingContext(HTML::BrowsingContextContainer&, BrowsingContext& top_level_browsing_context);