summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibWeb/CSS/StyleSheet.h
diff options
context:
space:
mode:
authorAndreas Kling <kling@serenityos.org>2022-08-28 13:42:07 +0200
committerAndreas Kling <kling@serenityos.org>2022-09-06 00:27:09 +0200
commit6f433c86564c24d47d520cb5bdcc2209d724ac96 (patch)
tree886a2f727782e466e99c61c628637872c1b7403f /Userland/Libraries/LibWeb/CSS/StyleSheet.h
parentbb547ce1c4251e3689287eac845593398a379ca5 (diff)
downloadserenity-6f433c86564c24d47d520cb5bdcc2209d724ac96.zip
LibWeb+LibJS: Make the EventTarget hierarchy (incl. DOM) GC-allocated
This is a monster patch that turns all EventTargets into GC-allocated PlatformObjects. Their C++ wrapper classes are removed, and the LibJS garbage collector is now responsible for their lifetimes. There's a fair amount of hacks and band-aids in this patch, and we'll have a lot of cleanup to do after this.
Diffstat (limited to 'Userland/Libraries/LibWeb/CSS/StyleSheet.h')
-rw-r--r--Userland/Libraries/LibWeb/CSS/StyleSheet.h11
1 files changed, 3 insertions, 8 deletions
diff --git a/Userland/Libraries/LibWeb/CSS/StyleSheet.h b/Userland/Libraries/LibWeb/CSS/StyleSheet.h
index 5c5d2ff466..3304962b9d 100644
--- a/Userland/Libraries/LibWeb/CSS/StyleSheet.h
+++ b/Userland/Libraries/LibWeb/CSS/StyleSheet.h
@@ -13,11 +13,9 @@
namespace Web::CSS {
class StyleSheet : public Bindings::PlatformObject {
- JS_OBJECT(StyleSheet, Bindings::PlatformObject);
+ WEB_PLATFORM_OBJECT(StyleSheet, Bindings::PlatformObject);
public:
- StyleSheet& impl() { return *this; }
-
virtual ~StyleSheet() = default;
virtual String type() const = 0;
@@ -48,7 +46,7 @@ public:
void set_parent_css_style_sheet(CSSStyleSheet*);
protected:
- explicit StyleSheet(Bindings::WindowObject&);
+ explicit StyleSheet(HTML::Window&);
virtual void visit_edges(Cell::Visitor&) override;
private:
@@ -68,7 +66,4 @@ private:
}
-namespace Web::Bindings {
-inline JS::Object* wrap(JS::Realm&, Web::CSS::StyleSheet& object) { return &object; }
-using StyleSheetWrapper = Web::CSS::StyleSheet;
-}
+WRAPPER_HACK(StyleSheet, Web::CSS)