mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-15 21:41:58 +00:00
LibCompress: Refactor deflate de/compressor using zlib
Also remove two crash tests that are not relevant anymore because the implementation changed substantially.
This commit is contained in:
parent
2baa7977a4
commit
1c2b373e9c
Notes:
github-actions[bot]
2025-03-19 12:48:41 +00:00
Author: https://github.com/devgianlu
Commit: 1c2b373e9c
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/3755
Reviewed-by: https://github.com/gmta ✅
Reviewed-by: https://github.com/trflynn89
8 changed files with 56 additions and 1018 deletions
|
@ -33,7 +33,7 @@ WebIDL::ExceptionOr<GC::Ref<CompressionStream>> CompressionStream::construct_imp
|
|||
case Bindings::CompressionFormat::Deflate:
|
||||
return TRY(Compress::ZlibCompressor::create(move(input_stream)));
|
||||
case Bindings::CompressionFormat::DeflateRaw:
|
||||
return TRY(Compress::DeflateCompressor::construct(make<LittleEndianInputBitStream>(move(input_stream))));
|
||||
return TRY(Compress::DeflateCompressor::create(move(input_stream)));
|
||||
case Bindings::CompressionFormat::Gzip:
|
||||
return TRY(Compress::GzipCompressor::create(move(input_stream)));
|
||||
}
|
||||
|
@ -166,16 +166,9 @@ ErrorOr<ByteBuffer> CompressionStream::compress(ReadonlyBytes bytes, Finish fini
|
|||
}));
|
||||
|
||||
if (finish == Finish::Yes) {
|
||||
TRY(m_compressor.visit(
|
||||
[&](NonnullOwnPtr<Compress::ZlibCompressor> const& compressor) {
|
||||
return compressor->finish();
|
||||
},
|
||||
[&](NonnullOwnPtr<Compress::DeflateCompressor> const& compressor) {
|
||||
return compressor->final_flush();
|
||||
},
|
||||
[&](NonnullOwnPtr<Compress::GzipCompressor> const& compressor) {
|
||||
return compressor->finish();
|
||||
}));
|
||||
TRY(m_compressor.visit([](auto const& compressor) {
|
||||
return compressor->finish();
|
||||
}));
|
||||
}
|
||||
|
||||
auto buffer = TRY(ByteBuffer::create_uninitialized(m_output_stream->used_buffer_size()));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue