mirror of
https://github.com/RGBCube/serenity
synced 2025-07-28 06:27:45 +00:00
LibWeb: Make CSSRule and all its subclasses GC-allocated
This commit is contained in:
parent
5d6cb9cbdb
commit
12042f0757
39 changed files with 338 additions and 236 deletions
|
@ -1,41 +0,0 @@
|
|||
/*
|
||||
* Copyright (c) 2021, Andreas Kling <kling@serenityos.org>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#include <AK/TypeCasts.h>
|
||||
#include <LibWeb/Bindings/CSSFontFaceRuleWrapper.h>
|
||||
#include <LibWeb/Bindings/CSSImportRuleWrapper.h>
|
||||
#include <LibWeb/Bindings/CSSMediaRuleWrapper.h>
|
||||
#include <LibWeb/Bindings/CSSRuleWrapper.h>
|
||||
#include <LibWeb/Bindings/CSSRuleWrapperFactory.h>
|
||||
#include <LibWeb/Bindings/CSSStyleRuleWrapper.h>
|
||||
#include <LibWeb/Bindings/CSSSupportsRuleWrapper.h>
|
||||
#include <LibWeb/CSS/CSSFontFaceRule.h>
|
||||
#include <LibWeb/CSS/CSSImportRule.h>
|
||||
#include <LibWeb/CSS/CSSMediaRule.h>
|
||||
#include <LibWeb/CSS/CSSStyleRule.h>
|
||||
#include <LibWeb/CSS/CSSSupportsRule.h>
|
||||
|
||||
namespace Web::Bindings {
|
||||
|
||||
CSSRuleWrapper* wrap(JS::Realm& realm, CSS::CSSRule& rule)
|
||||
{
|
||||
if (rule.wrapper())
|
||||
return static_cast<CSSRuleWrapper*>(rule.wrapper());
|
||||
|
||||
if (is<CSS::CSSStyleRule>(rule))
|
||||
return static_cast<CSSRuleWrapper*>(wrap_impl(realm, verify_cast<CSS::CSSStyleRule>(rule)));
|
||||
if (is<CSS::CSSImportRule>(rule))
|
||||
return static_cast<CSSRuleWrapper*>(wrap_impl(realm, verify_cast<CSS::CSSImportRule>(rule)));
|
||||
if (is<CSS::CSSMediaRule>(rule))
|
||||
return static_cast<CSSRuleWrapper*>(wrap_impl(realm, verify_cast<CSS::CSSMediaRule>(rule)));
|
||||
if (is<CSS::CSSFontFaceRule>(rule))
|
||||
return static_cast<CSSRuleWrapper*>(wrap_impl(realm, verify_cast<CSS::CSSFontFaceRule>(rule)));
|
||||
if (is<CSS::CSSSupportsRule>(rule))
|
||||
return static_cast<CSSRuleWrapper*>(wrap_impl(realm, verify_cast<CSS::CSSSupportsRule>(rule)));
|
||||
return static_cast<CSSRuleWrapper*>(wrap_impl(realm, rule));
|
||||
}
|
||||
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
/*
|
||||
* Copyright (c) 2021, Andreas Kling <kling@serenityos.org>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <LibJS/Forward.h>
|
||||
#include <LibWeb/Forward.h>
|
||||
|
||||
namespace Web::Bindings {
|
||||
|
||||
CSSRuleWrapper* wrap(JS::Realm&, CSS::CSSRule&);
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue