LibWeb: Add an HTML tokenizer re-implementation in swift

It doesn't do much yet, the fun part was the scaffolding
This commit is contained in:
Andrew Kaster 2024-08-23 17:39:53 -06:00 committed by Andrew Kaster
commit 49733ed09b
Notes: github-actions[bot] 2024-08-25 01:15:04 +00:00
4 changed files with 183 additions and 0 deletions

View file

@ -0,0 +1,23 @@
/*
* Copyright (c) 2024, Andrew Kaster <akaster@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#include <LibTextCodec/Decoder.h>
#include <LibWeb/HTML/Parser/HTMLTokenizerHelpers.h>
namespace Web::HTML {
OptionalString decode_to_utf8(StringView text, StringView encoding)
{
auto decoder = TextCodec::decoder_for(encoding);
if (!decoder.has_value())
return std::nullopt;
auto decoded_or_error = decoder.value().to_utf8(text);
if (decoded_or_error.is_error())
return std::nullopt;
return decoded_or_error.release_value();
}
}