소스 검색

LibWeb: Support Document.hidden and Document.visibilityState

These just act as if the document is always visible for now.
Andreas Kling 3 년 전
부모
커밋
e26e85a3d2
3개의 변경된 파일18개의 추가작업 그리고 0개의 파일을 삭제
  1. 12 0
      Userland/Libraries/LibWeb/DOM/Document.cpp
  2. 3 0
      Userland/Libraries/LibWeb/DOM/Document.h
  3. 3 0
      Userland/Libraries/LibWeb/DOM/Document.idl

+ 12 - 0
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";
+}
+
 }

+ 3 - 0
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&);
 

+ 3 - 0
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;
+
 };