mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-09-29 08:11:13 +00:00
LibCompress: Rename Compress::Zlib
to Compress::ZlibDecompressor
Because that's what it is, even if it mainly relies on `DeflateDecompressor` to do the heavy lifting.
This commit is contained in:
parent
edd004fe90
commit
23a9d62f39
Notes:
sideshowbarker
2024-07-17 17:49:11 +09:00
Author: https://github.com/timschumi Commit: https://github.com/SerenityOS/serenity/commit/23a9d62f39 Pull-request: https://github.com/SerenityOS/serenity/pull/16676 Reviewed-by: https://github.com/AtkinsSJ Reviewed-by: https://github.com/kleinesfilmroellchen ✅
|
@ -20,7 +20,7 @@ TEST_CASE(zlib_decompress_simple)
|
|||
|
||||
const u8 uncompressed[] = "This is a simple text file :)";
|
||||
|
||||
auto const decompressed = Compress::Zlib::decompress_all(compressed);
|
||||
auto const decompressed = Compress::ZlibDecompressor::decompress_all(compressed);
|
||||
EXPECT(decompressed.value().bytes() == (ReadonlyBytes { uncompressed, sizeof(uncompressed) - 1 }));
|
||||
}
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ namespace Compress {
|
|||
|
||||
constexpr static size_t Adler32Size = sizeof(u32);
|
||||
|
||||
Optional<Zlib> Zlib::try_create(ReadonlyBytes data)
|
||||
Optional<ZlibDecompressor> ZlibDecompressor::try_create(ReadonlyBytes data)
|
||||
{
|
||||
if (data.size() < (sizeof(ZlibHeader) + Adler32Size))
|
||||
return {};
|
||||
|
@ -31,18 +31,18 @@ Optional<Zlib> Zlib::try_create(ReadonlyBytes data)
|
|||
if (header.as_u16 % 31 != 0)
|
||||
return {}; // error correction code doesn't match
|
||||
|
||||
Zlib zlib { header, data };
|
||||
ZlibDecompressor zlib { header, data };
|
||||
zlib.m_data_bytes = data.slice(2, data.size() - sizeof(ZlibHeader) - Adler32Size);
|
||||
return zlib;
|
||||
}
|
||||
|
||||
Zlib::Zlib(ZlibHeader header, ReadonlyBytes data)
|
||||
ZlibDecompressor::ZlibDecompressor(ZlibHeader header, ReadonlyBytes data)
|
||||
: m_header(header)
|
||||
, m_input_data(data)
|
||||
{
|
||||
}
|
||||
|
||||
Optional<ByteBuffer> Zlib::decompress()
|
||||
Optional<ByteBuffer> ZlibDecompressor::decompress()
|
||||
{
|
||||
auto buffer_or_error = DeflateDecompressor::decompress_all(m_data_bytes);
|
||||
if (buffer_or_error.is_error())
|
||||
|
@ -50,7 +50,7 @@ Optional<ByteBuffer> Zlib::decompress()
|
|||
return buffer_or_error.release_value();
|
||||
}
|
||||
|
||||
Optional<ByteBuffer> Zlib::decompress_all(ReadonlyBytes bytes)
|
||||
Optional<ByteBuffer> ZlibDecompressor::decompress_all(ReadonlyBytes bytes)
|
||||
{
|
||||
auto zlib = try_create(bytes);
|
||||
if (!zlib.has_value())
|
||||
|
@ -58,7 +58,7 @@ Optional<ByteBuffer> Zlib::decompress_all(ReadonlyBytes bytes)
|
|||
return zlib->decompress();
|
||||
}
|
||||
|
||||
u32 Zlib::checksum()
|
||||
u32 ZlibDecompressor::checksum()
|
||||
{
|
||||
if (!m_checksum) {
|
||||
auto bytes = m_input_data.slice_from_end(Adler32Size);
|
||||
|
|
|
@ -42,16 +42,16 @@ struct ZlibHeader {
|
|||
};
|
||||
static_assert(sizeof(ZlibHeader) == sizeof(u16));
|
||||
|
||||
class Zlib {
|
||||
class ZlibDecompressor {
|
||||
public:
|
||||
Optional<ByteBuffer> decompress();
|
||||
u32 checksum();
|
||||
|
||||
static Optional<Zlib> try_create(ReadonlyBytes data);
|
||||
static Optional<ZlibDecompressor> try_create(ReadonlyBytes data);
|
||||
static Optional<ByteBuffer> decompress_all(ReadonlyBytes);
|
||||
|
||||
private:
|
||||
Zlib(ZlibHeader, ReadonlyBytes data);
|
||||
ZlibDecompressor(ZlibHeader, ReadonlyBytes data);
|
||||
|
||||
ZlibHeader m_header;
|
||||
|
||||
|
|
|
@ -120,7 +120,7 @@ ErrorOr<NonnullRefPtr<Font>> Font::try_load_from_externally_owned_memory(Readonl
|
|||
if (font_buffer_offset + orig_length > font_buffer.size())
|
||||
return Error::from_string_literal("Uncompressed WOFF table too big");
|
||||
if (comp_length < orig_length) {
|
||||
auto decompressed = Compress::Zlib::decompress_all(buffer.slice(offset, comp_length));
|
||||
auto decompressed = Compress::ZlibDecompressor::decompress_all(buffer.slice(offset, comp_length));
|
||||
if (!decompressed.has_value())
|
||||
return Error::from_string_literal("Could not decompress WOFF table");
|
||||
if (orig_length != decompressed->size())
|
||||
|
|
|
@ -706,7 +706,7 @@ static ErrorOr<void> decode_png_bitmap(PNGLoadingContext& context)
|
|||
if (context.color_type == PNG::ColorType::IndexedColor && context.palette_data.is_empty())
|
||||
return Error::from_string_literal("PNGImageDecoderPlugin: Didn't see a PLTE chunk for a palletized image, or it was empty.");
|
||||
|
||||
auto result = Compress::Zlib::decompress_all(context.compressed_data.span());
|
||||
auto result = Compress::ZlibDecompressor::decompress_all(context.compressed_data.span());
|
||||
if (!result.has_value()) {
|
||||
context.state = PNGLoadingContext::State::Error;
|
||||
return Error::from_string_literal("PNGImageDecoderPlugin: Decompression failed");
|
||||
|
|
|
@ -51,12 +51,12 @@ static ErrorOr<ByteBuffer> handle_content_encoding(ByteBuffer const& buf, Deprec
|
|||
|
||||
// Even though the content encoding is "deflate", it's actually deflate with the zlib wrapper.
|
||||
// https://tools.ietf.org/html/rfc7230#section-4.2.2
|
||||
auto uncompressed = Compress::Zlib::decompress_all(buf);
|
||||
auto uncompressed = Compress::ZlibDecompressor::decompress_all(buf);
|
||||
if (!uncompressed.has_value()) {
|
||||
// From the RFC:
|
||||
// "Note: Some non-conformant implementations send the "deflate"
|
||||
// compressed data without the zlib wrapper."
|
||||
dbgln_if(JOB_DEBUG, "Job::handle_content_encoding: Zlib::decompress_all() failed. Trying DeflateDecompressor::decompress_all()");
|
||||
dbgln_if(JOB_DEBUG, "Job::handle_content_encoding: ZlibDecompressor::decompress_all() failed. Trying DeflateDecompressor::decompress_all()");
|
||||
uncompressed = TRY(Compress::DeflateDecompressor::decompress_all(buf));
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue