From 80563120e23a3fe49c18524573fd0ca6785fb2e0 Mon Sep 17 00:00:00 2001 From: Arda Cinar Date: Thu, 15 Dec 2022 18:29:21 +0300 Subject: [PATCH] LibMarkdown: Handle error while rendering JS to HTML The library logs the error and falls back to not colorizing the js code inside the block instead. --- Userland/Libraries/LibMarkdown/CodeBlock.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/Userland/Libraries/LibMarkdown/CodeBlock.cpp b/Userland/Libraries/LibMarkdown/CodeBlock.cpp index 7038ca16cf..709252bee6 100644 --- a/Userland/Libraries/LibMarkdown/CodeBlock.cpp +++ b/Userland/Libraries/LibMarkdown/CodeBlock.cpp @@ -29,10 +29,17 @@ DeprecatedString CodeBlock::render_to_html(bool) const else builder.appendff("", escape_html_entities(m_language)); - if (m_language == "js") - builder.append(JS::MarkupGenerator::html_from_source(m_code).release_value_but_fixme_should_propagate_errors()); - else + if (m_language == "js") { + auto html_or_error = JS::MarkupGenerator::html_from_source(m_code); + if (html_or_error.is_error()) { + warnln("Could not render js code to html: {}", html_or_error.error()); + builder.append(escape_html_entities(m_code)); + } else { + builder.append(html_or_error.release_value()); + } + } else { builder.append(escape_html_entities(m_code)); + } builder.append(""sv);