1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 02:47:34 +00:00

LibWeb: Make factory method of CSS::CSSMediaRule fallible

This commit is contained in:
Kenneth Myhra 2023-02-12 22:51:21 +01:00 committed by Linus Groh
parent d53d8cacec
commit 5601f439f9
3 changed files with 4 additions and 4 deletions

View file

@ -12,9 +12,9 @@
namespace Web::CSS { namespace Web::CSS {
CSSMediaRule* CSSMediaRule::create(JS::Realm& realm, MediaList& media_queries, CSSRuleList& rules) WebIDL::ExceptionOr<JS::NonnullGCPtr<CSSMediaRule>> CSSMediaRule::create(JS::Realm& realm, MediaList& media_queries, CSSRuleList& rules)
{ {
return realm.heap().allocate<CSSMediaRule>(realm, realm, media_queries, rules).release_allocated_value_but_fixme_should_propagate_errors(); return MUST_OR_THROW_OOM(realm.heap().allocate<CSSMediaRule>(realm, realm, media_queries, rules));
} }
CSSMediaRule::CSSMediaRule(JS::Realm& realm, MediaList& media, CSSRuleList& rules) CSSMediaRule::CSSMediaRule(JS::Realm& realm, MediaList& media, CSSRuleList& rules)

View file

@ -18,7 +18,7 @@ class CSSMediaRule final : public CSSConditionRule {
WEB_PLATFORM_OBJECT(CSSMediaRule, CSSConditionRule); WEB_PLATFORM_OBJECT(CSSMediaRule, CSSConditionRule);
public: public:
static CSSMediaRule* create(JS::Realm&, MediaList& media_queries, CSSRuleList&); static WebIDL::ExceptionOr<JS::NonnullGCPtr<CSSMediaRule>> create(JS::Realm&, MediaList& media_queries, CSSRuleList&);
virtual ~CSSMediaRule() = default; virtual ~CSSMediaRule() = default;

View file

@ -3058,7 +3058,7 @@ CSSRule* Parser::convert_to_rule(NonnullRefPtr<Rule> rule)
child_rules.append(child_rule); child_rules.append(child_rule);
} }
auto* rule_list = CSSRuleList::create(m_context.realm(), child_rules); auto* rule_list = CSSRuleList::create(m_context.realm(), child_rules);
return CSSMediaRule::create(m_context.realm(), *MediaList::create(m_context.realm(), move(media_query_list)), *rule_list); return CSSMediaRule::create(m_context.realm(), *MediaList::create(m_context.realm(), move(media_query_list)), *rule_list).release_value_but_fixme_should_propagate_errors();
} }
if (rule->at_rule_name().equals_ignoring_case("supports"sv)) { if (rule->at_rule_name().equals_ignoring_case("supports"sv)) {
auto supports_tokens = TokenStream { rule->prelude() }; auto supports_tokens = TokenStream { rule->prelude() };