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:
Tim Schumacher 2022-12-26 15:51:51 +01:00 committed by Sam Atkins
parent edd004fe90
commit 23a9d62f39
Notes: sideshowbarker 2024-07-17 17:49:11 +09:00
6 changed files with 14 additions and 14 deletions

View file

@ -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 }));
}

View file

@ -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);

View file

@ -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;

View file

@ -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())

View file

@ -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");

View file

@ -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));
}