浏览代码

LibWeb: Do not crash when parsing a SVG script element

Just leave a FIXME dbgln message instead. This works around a crash seen
in html5test.com.
Shannon Booth 1 年之前
父节点
当前提交
60c32f39a1
共有 1 个文件被更改,包括 3 次插入1 次删除
  1. 3 1
      Userland/Libraries/LibWeb/HTML/Parser/HTMLParser.cpp

+ 3 - 1
Userland/Libraries/LibWeb/HTML/Parser/HTMLParser.cpp

@@ -3545,7 +3545,7 @@ void HTMLParser::process_using_the_rules_for_foreign_content(HTMLToken& token)
         m_parser_pause_flag = true;
         m_parser_pause_flag = true;
 
 
         // FIXME: If the active speculative HTML parser is null and the user agent supports SVG, then Process the SVG script element according to the SVG rules. [SVG]
         // FIXME: If the active speculative HTML parser is null and the user agent supports SVG, then Process the SVG script element according to the SVG rules. [SVG]
-        TODO();
+        dbgln("FIXME: Missing 'Process the SVG script element according to the SVG rules.");
 
 
         // Decrement the parser's script nesting level by one.
         // Decrement the parser's script nesting level by one.
         decrement_script_nesting_level();
         decrement_script_nesting_level();
@@ -3555,7 +3555,9 @@ void HTMLParser::process_using_the_rules_for_foreign_content(HTMLToken& token)
 
 
         // Let the insertion point have the value of the old insertion point.
         // Let the insertion point have the value of the old insertion point.
         m_tokenizer.restore_insertion_point();
         m_tokenizer.restore_insertion_point();
+        return;
     }
     }
+
     // -> Any other end tag
     // -> Any other end tag
     if (token.is_end_tag()) {
     if (token.is_end_tag()) {
         // 1. Initialize node to be the current node (the bottommost node of the stack).
         // 1. Initialize node to be the current node (the bottommost node of the stack).