mirror of
https://github.com/RGBCube/serenity
synced 2025-07-23 14:07:42 +00:00
LibWeb: Add a flag to track when a browsing context has been discarded
This commit is contained in:
parent
f7c212a19d
commit
2d5381fd91
2 changed files with 5 additions and 0 deletions
|
@ -1329,6 +1329,8 @@ void BrowsingContext::set_system_visibility_state(VisibilityState visibility_sta
|
||||||
// https://html.spec.whatwg.org/multipage/window-object.html#a-browsing-context-is-discarded
|
// https://html.spec.whatwg.org/multipage/window-object.html#a-browsing-context-is-discarded
|
||||||
void BrowsingContext::discard()
|
void BrowsingContext::discard()
|
||||||
{
|
{
|
||||||
|
m_has_been_discarded = true;
|
||||||
|
|
||||||
// 1. Discard all Document objects for all the entries in browsingContext's session history.
|
// 1. Discard all Document objects for all the entries in browsingContext's session history.
|
||||||
for (auto& entry : m_session_history) {
|
for (auto& entry : m_session_history) {
|
||||||
if (entry.document)
|
if (entry.document)
|
||||||
|
|
|
@ -243,6 +243,7 @@ public:
|
||||||
|
|
||||||
// https://html.spec.whatwg.org/multipage/window-object.html#a-browsing-context-is-discarded
|
// https://html.spec.whatwg.org/multipage/window-object.html#a-browsing-context-is-discarded
|
||||||
void discard();
|
void discard();
|
||||||
|
bool has_been_discarded() const { return m_has_been_discarded; }
|
||||||
|
|
||||||
// https://html.spec.whatwg.org/multipage/window-object.html#close-a-browsing-context
|
// https://html.spec.whatwg.org/multipage/window-object.html#close-a-browsing-context
|
||||||
void close();
|
void close();
|
||||||
|
@ -305,6 +306,8 @@ private:
|
||||||
JS::GCPtr<BrowsingContext> m_last_child;
|
JS::GCPtr<BrowsingContext> m_last_child;
|
||||||
JS::GCPtr<BrowsingContext> m_next_sibling;
|
JS::GCPtr<BrowsingContext> m_next_sibling;
|
||||||
JS::GCPtr<BrowsingContext> m_previous_sibling;
|
JS::GCPtr<BrowsingContext> m_previous_sibling;
|
||||||
|
|
||||||
|
bool m_has_been_discarded { false };
|
||||||
};
|
};
|
||||||
|
|
||||||
HTML::Origin determine_the_origin(BrowsingContext const& browsing_context, Optional<AK::URL> url, SandboxingFlagSet sandbox_flags, Optional<HTML::Origin> invocation_origin);
|
HTML::Origin determine_the_origin(BrowsingContext const& browsing_context, Optional<AK::URL> url, SandboxingFlagSet sandbox_flags, Optional<HTML::Origin> invocation_origin);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue