From e26e85a3d24d9e570a35ac20bf043d6df47f3d0f Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Mon, 27 Sep 2021 16:02:13 +0200 Subject: [PATCH] LibWeb: Support Document.hidden and Document.visibilityState These just act as if the document is always visible for now. --- Userland/Libraries/LibWeb/DOM/Document.cpp | 12 ++++++++++++ Userland/Libraries/LibWeb/DOM/Document.h | 3 +++ Userland/Libraries/LibWeb/DOM/Document.idl | 3 +++ 3 files changed, 18 insertions(+) diff --git a/Userland/Libraries/LibWeb/DOM/Document.cpp b/Userland/Libraries/LibWeb/DOM/Document.cpp index 3c1dd8a464..875a36e0a4 100644 --- a/Userland/Libraries/LibWeb/DOM/Document.cpp +++ b/Userland/Libraries/LibWeb/DOM/Document.cpp @@ -1062,4 +1062,16 @@ Bindings::LocationObject* Document::location() return window().wrapper()->location_object(); } +// https://w3c.github.io/page-visibility/#hidden-attribute +bool Document::hidden() const +{ + return false; +} + +// https://w3c.github.io/page-visibility/#visibilitystate-attribute +String Document::visibility_state() const +{ + return hidden() ? "hidden" : "visible"; +} + } diff --git a/Userland/Libraries/LibWeb/DOM/Document.h b/Userland/Libraries/LibWeb/DOM/Document.h index 27b2f45223..dfa07c1b05 100644 --- a/Userland/Libraries/LibWeb/DOM/Document.h +++ b/Userland/Libraries/LibWeb/DOM/Document.h @@ -298,6 +298,9 @@ public: bool page_showing() const { return m_page_showing; } void set_page_showing(bool value) { m_page_showing = value; } + bool hidden() const; + String visibility_state() const; + private: explicit Document(const AK::URL&); diff --git a/Userland/Libraries/LibWeb/DOM/Document.idl b/Userland/Libraries/LibWeb/DOM/Document.idl index dca0c8cfb7..c86cbc6799 100644 --- a/Userland/Libraries/LibWeb/DOM/Document.idl +++ b/Userland/Libraries/LibWeb/DOM/Document.idl @@ -139,4 +139,7 @@ interface Document : Node { attribute EventHandler onwebkittransitionend; attribute EventHandler onwheel; + readonly boolean hidden; + readonly DOMString visibilityState; + };