Prechádzať zdrojové kódy

LibWeb: Implement document.applets

This is a legacy interface that returns an always-empty HTMLCollection.
Andreas Kling 4 rokov pred
rodič
commit
43d16fa5b6

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

@@ -510,6 +510,13 @@ NonnullRefPtr<HTMLCollection> Document::get_elements_by_class_name(FlyString con
     });
 }
 
+NonnullRefPtr<HTMLCollection> Document::applets()
+{
+    // FIXME: This should return the same HTMLCollection object every time,
+    //        but that would cause a reference cycle since HTMLCollection refs the root.
+    return HTMLCollection::create(*this, [] { return false; });
+}
+
 Color Document::link_color() const
 {
     if (m_link_color.has_value())

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

@@ -140,6 +140,8 @@ public:
     NonnullRefPtr<HTMLCollection> get_elements_by_tag_name(FlyString const&);
     NonnullRefPtr<HTMLCollection> get_elements_by_class_name(FlyString const&);
 
+    NonnullRefPtr<HTMLCollection> applets();
+
     const String& source() const { return m_source; }
     void set_source(const String& source) { m_source = source; }
 

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

@@ -18,6 +18,8 @@ interface Document : Node {
     HTMLCollection getElementsByTagName(DOMString tagName);
     HTMLCollection getElementsByClassName(DOMString className);
 
+    readonly attribute HTMLCollection applets;
+
     Element createElement(DOMString tagName);
     Element createElementNS(DOMString? namespace, DOMString qualifiedName);
     DocumentFragment createDocumentFragment();