Sfoglia il codice sorgente

LibWeb: Support Document.hidden and Document.visibilityState

These just act as if the document is always visible for now.
Andreas Kling 3 anni fa
parent
commit
e26e85a3d2

+ 12 - 0
Userland/Libraries/LibWeb/DOM/Document.cpp

@@ -1062,4 +1062,16 @@ Bindings::LocationObject* Document::location()
     return window().wrapper()->location_object();
     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";
+}
+
 }
 }

+ 3 - 0
Userland/Libraries/LibWeb/DOM/Document.h

@@ -298,6 +298,9 @@ public:
     bool page_showing() const { return m_page_showing; }
     bool page_showing() const { return m_page_showing; }
     void set_page_showing(bool value) { m_page_showing = value; }
     void set_page_showing(bool value) { m_page_showing = value; }
 
 
+    bool hidden() const;
+    String visibility_state() const;
+
 private:
 private:
     explicit Document(const AK::URL&);
     explicit Document(const AK::URL&);
 
 

+ 3 - 0
Userland/Libraries/LibWeb/DOM/Document.idl

@@ -139,4 +139,7 @@ interface Document : Node {
     attribute EventHandler onwebkittransitionend;
     attribute EventHandler onwebkittransitionend;
     attribute EventHandler onwheel;
     attribute EventHandler onwheel;
 
 
+    readonly boolean hidden;
+    readonly DOMString visibilityState;
+
 };
 };