From 5601f439f9aaf8b9855fdc5211658f7f7251bdea Mon Sep 17 00:00:00 2001 From: Kenneth Myhra Date: Sun, 12 Feb 2023 22:51:21 +0100 Subject: [PATCH] LibWeb: Make factory method of CSS::CSSMediaRule fallible --- Userland/Libraries/LibWeb/CSS/CSSMediaRule.cpp | 4 ++-- Userland/Libraries/LibWeb/CSS/CSSMediaRule.h | 2 +- Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Userland/Libraries/LibWeb/CSS/CSSMediaRule.cpp b/Userland/Libraries/LibWeb/CSS/CSSMediaRule.cpp index 509e2645bc..215f2e2048 100644 --- a/Userland/Libraries/LibWeb/CSS/CSSMediaRule.cpp +++ b/Userland/Libraries/LibWeb/CSS/CSSMediaRule.cpp @@ -12,9 +12,9 @@ namespace Web::CSS { -CSSMediaRule* CSSMediaRule::create(JS::Realm& realm, MediaList& media_queries, CSSRuleList& rules) +WebIDL::ExceptionOr> CSSMediaRule::create(JS::Realm& realm, MediaList& media_queries, CSSRuleList& rules) { - return realm.heap().allocate(realm, realm, media_queries, rules).release_allocated_value_but_fixme_should_propagate_errors(); + return MUST_OR_THROW_OOM(realm.heap().allocate(realm, realm, media_queries, rules)); } CSSMediaRule::CSSMediaRule(JS::Realm& realm, MediaList& media, CSSRuleList& rules) diff --git a/Userland/Libraries/LibWeb/CSS/CSSMediaRule.h b/Userland/Libraries/LibWeb/CSS/CSSMediaRule.h index 6ec7a4df68..227a31cc09 100644 --- a/Userland/Libraries/LibWeb/CSS/CSSMediaRule.h +++ b/Userland/Libraries/LibWeb/CSS/CSSMediaRule.h @@ -18,7 +18,7 @@ class CSSMediaRule final : public CSSConditionRule { WEB_PLATFORM_OBJECT(CSSMediaRule, CSSConditionRule); public: - static CSSMediaRule* create(JS::Realm&, MediaList& media_queries, CSSRuleList&); + static WebIDL::ExceptionOr> create(JS::Realm&, MediaList& media_queries, CSSRuleList&); virtual ~CSSMediaRule() = default; diff --git a/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp b/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp index c5bc1f6d33..f02b6dc81a 100644 --- a/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp +++ b/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp @@ -3058,7 +3058,7 @@ CSSRule* Parser::convert_to_rule(NonnullRefPtr rule) child_rules.append(child_rule); } 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)) { auto supports_tokens = TokenStream { rule->prelude() };