Browse Source

LibWeb: Remove OOM propagation from Fetch::Infrastructure::HTTP

Timothy Flynn 1 year ago
parent
commit
c9a461ee75

+ 6 - 6
Tests/LibWeb/TestFetchInfrastructure.cpp

@@ -16,14 +16,14 @@ TEST_CASE(collect_an_http_quoted_string)
         auto test = "\"\""_string;
         GenericLexer lexer { test };
 
-        auto result = MUST(Web::Fetch::Infrastructure::collect_an_http_quoted_string(lexer));
+        auto result = Web::Fetch::Infrastructure::collect_an_http_quoted_string(lexer);
         EXPECT_EQ(result, "\"\""_string);
     }
     {
         auto test = "\"abc\""_string;
         GenericLexer lexer { test };
 
-        auto result = MUST(Web::Fetch::Infrastructure::collect_an_http_quoted_string(lexer));
+        auto result = Web::Fetch::Infrastructure::collect_an_http_quoted_string(lexer);
         EXPECT_EQ(result, "\"abc\""_string);
     }
     {
@@ -32,7 +32,7 @@ TEST_CASE(collect_an_http_quoted_string)
         GenericLexer lexer { test };
         lexer.ignore(4);
 
-        auto result = MUST(Web::Fetch::Infrastructure::collect_an_http_quoted_string(lexer));
+        auto result = Web::Fetch::Infrastructure::collect_an_http_quoted_string(lexer);
         EXPECT_EQ(result, "\"abc\""_string);
     }
     {
@@ -41,7 +41,7 @@ TEST_CASE(collect_an_http_quoted_string)
         GenericLexer lexer { test };
         lexer.ignore(4);
 
-        auto result = MUST(Web::Fetch::Infrastructure::collect_an_http_quoted_string(lexer));
+        auto result = Web::Fetch::Infrastructure::collect_an_http_quoted_string(lexer);
         EXPECT_EQ(result, "\"abc\""_string);
     }
     {
@@ -50,14 +50,14 @@ TEST_CASE(collect_an_http_quoted_string)
         GenericLexer lexer { test };
         lexer.ignore(4);
 
-        auto result = MUST(Web::Fetch::Infrastructure::collect_an_http_quoted_string(lexer));
+        auto result = Web::Fetch::Infrastructure::collect_an_http_quoted_string(lexer);
         EXPECT_EQ(result, "\"abc\""_string);
     }
     {
         auto test = "\"abc\" bar"_string;
         GenericLexer lexer { test };
 
-        auto result = MUST(Web::Fetch::Infrastructure::collect_an_http_quoted_string(lexer));
+        auto result = Web::Fetch::Infrastructure::collect_an_http_quoted_string(lexer);
         EXPECT_EQ(result, "\"abc\""_string);
     }
 }

+ 3 - 3
Userland/Libraries/LibWeb/Fetch/Infrastructure/HTTP.cpp

@@ -12,7 +12,7 @@
 namespace Web::Fetch::Infrastructure {
 
 // https://fetch.spec.whatwg.org/#collect-an-http-quoted-string
-ErrorOr<String> collect_an_http_quoted_string(GenericLexer& lexer, HttpQuotedStringExtractValue extract_value)
+String collect_an_http_quoted_string(GenericLexer& lexer, HttpQuotedStringExtractValue extract_value)
 {
     // To collect an HTTP quoted string from a string input, given a position variable position and optionally an extract-value flag, run these steps:
     // 1. Let positionStart be position.
@@ -69,10 +69,10 @@ ErrorOr<String> collect_an_http_quoted_string(GenericLexer& lexer, HttpQuotedStr
 
     // 6. If the extract-value flag is set, then return value.
     if (extract_value == HttpQuotedStringExtractValue::Yes)
-        return value.to_string();
+        return MUST(value.to_string());
 
     // 7. Return the code points from positionStart to position, inclusive, within input.
-    return String::from_utf8(lexer.input().substring_view(position_start, lexer.tell() - position_start));
+    return MUST(String::from_utf8(lexer.input().substring_view(position_start, lexer.tell() - position_start)));
 }
 
 }

+ 1 - 1
Userland/Libraries/LibWeb/Fetch/Infrastructure/HTTP.h

@@ -37,6 +37,6 @@ enum class HttpQuotedStringExtractValue {
     Yes,
 };
 
-ErrorOr<String> collect_an_http_quoted_string(GenericLexer& lexer, HttpQuotedStringExtractValue extract_value = HttpQuotedStringExtractValue::No);
+[[nodiscard]] String collect_an_http_quoted_string(GenericLexer& lexer, HttpQuotedStringExtractValue extract_value = HttpQuotedStringExtractValue::No);
 
 }

+ 1 - 1
Userland/Libraries/LibWeb/Fetch/Infrastructure/HTTP/Headers.cpp

@@ -150,7 +150,7 @@ Optional<Vector<String>> get_decode_and_split_header_value(ReadonlyBytes value)
             // 1. If the code point at position within input is U+0022 ("), then:
             if (lexer.peek() == '"') {
                 // 1. Append the result of collecting an HTTP quoted string from input, given position, to temporaryValue.
-                temporary_value_builder.append(MUST(collect_an_http_quoted_string(lexer)));
+                temporary_value_builder.append(collect_an_http_quoted_string(lexer));
 
                 // 2. If position is not past the end of input, then continue.
                 if (!lexer.is_eof())

+ 1 - 1
Userland/Libraries/LibWeb/MimeSniff/MimeType.cpp

@@ -152,7 +152,7 @@ ErrorOr<Optional<MimeType>> MimeType::parse(StringView string)
         // 8. If the code point at position within input is U+0022 ("), then:
         if (lexer.peek() == '"') {
             // 1. Set parameterValue to the result of collecting an HTTP quoted string from input, given position and the extract-value flag.
-            parameter_value = TRY(Fetch::Infrastructure::collect_an_http_quoted_string(lexer, Fetch::Infrastructure::HttpQuotedStringExtractValue::Yes));
+            parameter_value = Fetch::Infrastructure::collect_an_http_quoted_string(lexer, Fetch::Infrastructure::HttpQuotedStringExtractValue::Yes);
 
             // 2. Collect a sequence of code points that are not U+003B (;) from input, given position.
             lexer.ignore_until(';');