From 7f6a49c08560863a99ff80f84ba346a652f792d5 Mon Sep 17 00:00:00 2001 From: Shannon Booth Date: Mon, 5 Jun 2023 10:57:28 +1200 Subject: LibWeb: Ensure that contentType in Blob::slice is basic latin --- Userland/Libraries/LibWeb/FileAPI/Blob.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Userland/Libraries/LibWeb/FileAPI/Blob.cpp b/Userland/Libraries/LibWeb/FileAPI/Blob.cpp index b45da63bd3..f380258451 100644 --- a/Userland/Libraries/LibWeb/FileAPI/Blob.cpp +++ b/Userland/Libraries/LibWeb/FileAPI/Blob.cpp @@ -230,10 +230,12 @@ WebIDL::ExceptionOr> Blob::slice(Optional start, Opt } else { // b. Else let relativeContentType be set to contentType and run the substeps below: - // FIXME: 1. If relativeContentType contains any characters outside the range of U+0020 to U+007E, then set relativeContentType to the empty string and return from these substeps. - - // 2. Convert every character in relativeContentType to ASCII lowercase. - relative_content_type = TRY_OR_THROW_OOM(vm, Infra::to_ascii_lowercase(content_type.value())); + // 1. If relativeContentType contains any characters outside the range of U+0020 to U+007E, then set relativeContentType to the empty string and return from these substeps. + // NOTE: contentType is set to empty string at declaration. + if (is_basic_latin(content_type.value())) { + // 2. Convert every character in relativeContentType to ASCII lowercase. + relative_content_type = TRY_OR_THROW_OOM(vm, Infra::to_ascii_lowercase(content_type.value())); + } } // 4. Let span be max((relativeEnd - relativeStart), 0). -- cgit v1.2.3