1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 13:18:13 +00:00

LibWeb: Replace incorrect uses of AK::is_ascii_space()

This commit is contained in:
Linus Groh 2022-10-01 18:14:32 +01:00 committed by Andreas Kling
parent 87ac38c78b
commit fb21271334
4 changed files with 10 additions and 12 deletions

View file

@ -5,11 +5,11 @@
* SPDX-License-Identifier: BSD-2-Clause
*/
#include <AK/CharacterTypes.h>
#include <AK/StringBuilder.h>
#include <LibWeb/DOM/DOMTokenList.h>
#include <LibWeb/DOM/Document.h>
#include <LibWeb/DOM/Element.h>
#include <LibWeb/Infra/CharacterTypes.h>
#include <LibWeb/WebIDL/DOMException.h>
namespace {
@ -234,7 +234,7 @@ WebIDL::ExceptionOr<void> DOMTokenList::validate_token(StringView token) const
{
if (token.is_empty())
return WebIDL::SyntaxError::create(realm(), "Non-empty DOM tokens are not allowed");
if (any_of(token, is_ascii_space))
if (any_of(token, Infra::is_ascii_whitespace))
return WebIDL::InvalidCharacterError::create(realm(), "DOM tokens containing ASCII whitespace are not allowed");
return {};
}

View file

@ -17,6 +17,7 @@
#include <LibWeb/HTML/ImageData.h>
#include <LibWeb/HTML/Path2D.h>
#include <LibWeb/HTML/TextMetrics.h>
#include <LibWeb/Infra/CharacterTypes.h>
#include <LibWeb/Layout/TextNode.h>
#include <LibWeb/Platform/FontPlugin.h>
#include <LibWeb/WebIDL/ExceptionOr.h>
@ -393,11 +394,9 @@ CanvasRenderingContext2D::PreparedText CanvasRenderingContext2D::prepare_text(St
}
// 2. Replace all ASCII whitespace in text with U+0020 SPACE characters.
// NOTE: This also replaces vertical tabs with space even though WHATWG
// doesn't consider it as whitespace.
StringBuilder builder { text.length() };
for (auto c : text) {
builder.append(is_ascii_space(c) ? ' ' : c);
builder.append(Infra::is_ascii_whitespace(c) ? ' ' : c);
}
String replaced_text = builder.build();

View file

@ -12,6 +12,7 @@
#include <LibWeb/DOM/Attr.h>
#include <LibWeb/DOM/Document.h>
#include <LibWeb/HTML/Parser/HTMLEncodingDetection.h>
#include <LibWeb/Infra/CharacterTypes.h>
#include <ctype.h>
namespace Web::HTML {
@ -50,8 +51,7 @@ Optional<StringView> extract_character_encoding_from_meta_element(String const&
lexer.ignore(charset_index.value() + 7);
lexer.ignore_while([](char c) {
// FIXME: Not the exact same ASCII whitespace. The spec does not include vertical tab (\v).
return is_ascii_space(c);
return Infra::is_ascii_whitespace(c);
});
if (lexer.peek() != '=')
@ -64,8 +64,7 @@ Optional<StringView> extract_character_encoding_from_meta_element(String const&
lexer.ignore();
lexer.ignore_while([](char c) {
// FIXME: Not the exact same ASCII whitespace. The spec does not include vertical tab (\v).
return is_ascii_space(c);
return Infra::is_ascii_whitespace(c);
});
if (lexer.is_eof())
@ -90,8 +89,7 @@ Optional<StringView> extract_character_encoding_from_meta_element(String const&
}
auto encoding = lexer.consume_until([](char c) {
// FIXME: Not the exact same ASCII whitespace. The spec does not include vertical tab (\v).
return is_ascii_space(c) || c == ';';
return Infra::is_ascii_whitespace(c) || c == ';';
});
return TextCodec::get_standardized_encoding(encoding);
}

View file

@ -28,6 +28,7 @@
#include <LibWeb/HTML/Parser/HTMLParser.h>
#include <LibWeb/HTML/Parser/HTMLToken.h>
#include <LibWeb/HTML/Window.h>
#include <LibWeb/Infra/CharacterTypes.h>
#include <LibWeb/Namespace.h>
#include <LibWeb/SVG/TagNames.h>
@ -3668,7 +3669,7 @@ RefPtr<CSS::StyleValue> parse_dimension_value(StringView string)
auto position = input.begin();
// 3. Skip ASCII whitespace within input given position.
while (position != input.end() && is_ascii_space(*position))
while (position != input.end() && Infra::is_ascii_whitespace(*position))
++position;
// 4. If position is past the end of input or the code point at position within input is not an ASCII digit,