mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-10-05 23:59:53 +00:00
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:
parent
4ba274691e
commit
49733ed09b
Notes:
github-actions[bot]
2024-08-25 01:15:04 +00:00
Author: https://github.com/ADKaster
Commit: 49733ed09b
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/1175
Reviewed-by: https://github.com/AtkinsSJ
4 changed files with 183 additions and 0 deletions
|
@ -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();
|
||||
}
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue