diff --git a/Userland/Libraries/LibWeb/CSS/CSSStyleSheet.h b/Userland/Libraries/LibWeb/CSS/CSSStyleSheet.h index 3ebe1877ce..6ce28b1735 100644 --- a/Userland/Libraries/LibWeb/CSS/CSSStyleSheet.h +++ b/Userland/Libraries/LibWeb/CSS/CSSStyleSheet.h @@ -18,7 +18,9 @@ namespace Web::CSS { class CSSImportRule; -class CSSStyleSheet final : public StyleSheet { +class CSSStyleSheet final + : public StyleSheet + , public Weakable { public: using WrapperType = Bindings::CSSStyleSheetWrapper; diff --git a/Userland/Libraries/LibWeb/CSS/StyleSheet.cpp b/Userland/Libraries/LibWeb/CSS/StyleSheet.cpp index bafec2d802..36c04d7702 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleSheet.cpp +++ b/Userland/Libraries/LibWeb/CSS/StyleSheet.cpp @@ -5,6 +5,7 @@ * SPDX-License-Identifier: BSD-2-Clause */ +#include #include #include @@ -18,4 +19,9 @@ void StyleSheet::set_owner_node(DOM::Element* element) m_owner_node = nullptr; } +void StyleSheet::set_parent_css_style_sheet(CSSStyleSheet* parent) +{ + m_parent_style_sheet = parent; +} + } diff --git a/Userland/Libraries/LibWeb/CSS/StyleSheet.h b/Userland/Libraries/LibWeb/CSS/StyleSheet.h index 36f9e7a610..dc809624c4 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleSheet.h +++ b/Userland/Libraries/LibWeb/CSS/StyleSheet.h @@ -41,7 +41,7 @@ public: void set_disabled(bool disabled) { m_disabled = disabled; } CSSStyleSheet* parent_style_sheet() { return m_parent_style_sheet; } - void set_parent_css_style_sheet(CSSStyleSheet* sheet) { m_parent_style_sheet = sheet; } + void set_parent_css_style_sheet(CSSStyleSheet*); protected: StyleSheet() = default; @@ -49,8 +49,7 @@ protected: private: WeakPtr m_owner_node; - // FIXME: Use WeakPtr. - CSSStyleSheet* m_parent_style_sheet { nullptr }; + WeakPtr m_parent_style_sheet; String m_title; String m_type_string;