diff --git a/Libraries/LibWeb/HTML/HTMLLinkElement.cpp b/Libraries/LibWeb/HTML/HTMLLinkElement.cpp index 35a6c68a240..381820a5622 100644 --- a/Libraries/LibWeb/HTML/HTMLLinkElement.cpp +++ b/Libraries/LibWeb/HTML/HTMLLinkElement.cpp @@ -138,6 +138,12 @@ String HTMLLinkElement::media() const return attribute(HTML::AttributeNames::media).value_or(String {}); } +// https://drafts.csswg.org/cssom/#dom-linkstyle-sheet +GC::Ptr HTMLLinkElement::sheet() const +{ + return m_loaded_style_sheet; +} + bool HTMLLinkElement::has_loaded_icon() const { return m_relationship & Relationship::Icon && resource() && resource()->is_loaded() && resource()->has_encoded_data(); diff --git a/Libraries/LibWeb/HTML/HTMLLinkElement.h b/Libraries/LibWeb/HTML/HTMLLinkElement.h index ca13885a51a..4adb7fac333 100644 --- a/Libraries/LibWeb/HTML/HTMLLinkElement.h +++ b/Libraries/LibWeb/HTML/HTMLLinkElement.h @@ -48,6 +48,8 @@ public: void set_media(String); String media() const; + GC::Ptr sheet() const; + private: HTMLLinkElement(DOM::Document&, DOM::QualifiedName); diff --git a/Libraries/LibWeb/HTML/HTMLLinkElement.idl b/Libraries/LibWeb/HTML/HTMLLinkElement.idl index 71d12a6af6e..27ae37a1118 100644 --- a/Libraries/LibWeb/HTML/HTMLLinkElement.idl +++ b/Libraries/LibWeb/HTML/HTMLLinkElement.idl @@ -60,4 +60,4 @@ interface HTMLLinkElement : HTMLElement { [CEReactions, Reflect] attribute DOMString target; }; -// FIXME: HTMLLinkElement includes LinkStyle; +HTMLLinkElement includes LinkStyle; diff --git a/Tests/LibWeb/Text/expected/css/HTMLLinkElement-sheet.txt b/Tests/LibWeb/Text/expected/css/HTMLLinkElement-sheet.txt new file mode 100644 index 00000000000..b411111934f --- /dev/null +++ b/Tests/LibWeb/Text/expected/css/HTMLLinkElement-sheet.txt @@ -0,0 +1,2 @@ +sheet property initial value: null +Sheet property after stylesheet loaded: [object CSSStyleSheet] diff --git a/Tests/LibWeb/Text/input/css/HTMLLinkElement-sheet.html b/Tests/LibWeb/Text/input/css/HTMLLinkElement-sheet.html new file mode 100644 index 00000000000..7c0902f8fb2 --- /dev/null +++ b/Tests/LibWeb/Text/input/css/HTMLLinkElement-sheet.html @@ -0,0 +1,15 @@ + + +