[webkit-changes] [WebKit/WebKit] e3a757: [compression] Brotli: correctly handle large outpu...

Brandon Stewart noreply at github.com
Mon Jan 6 19:43:39 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e3a75750073a2a8728fb4cdd3817d584637996ec
      https://github.com/WebKit/WebKit/commit/e3a75750073a2a8728fb4cdd3817d584637996ec
  Author: Brandon Stewart <brandonstewart at apple.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M LayoutTests/imported/w3c/web-platform-tests/compression/compression-large-flush-output.any-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/compression/compression-large-flush-output.any.js
    A LayoutTests/platform/glib/imported/w3c/web-platform-tests/compression/compression-large-flush-output.any-expected.txt
    M Source/WebCore/Modules/compression/CompressionStreamEncoder.h
    M Source/WebCore/Modules/compression/DecompressionStreamDecoder.h
    M Source/WebCore/Modules/compression/cocoa/CompressionStreamEncoderCocoa.mm
    M Source/WebCore/Modules/compression/cocoa/DecompressionStreamDecoderCocoa.mm

  Log Message:
  -----------
  [compression] Brotli: correctly handle large output when flushing
https://bugs.webkit.org/show_bug.cgi?id=285443
rdar://problem/142424257

Reviewed by Alex Christensen.

During the finalize step, the internal buffer of Brotli has the potential to be holding more data than what our buffer can hold.
Therefore we will need to continue to request Brotli for more data, so we do not truncate the results.

* LayoutTests/platform/glib/imported/w3c/web-platform-tests/compression/compression-large-flush-output.any-expected.txt
* LayoutTests/imported/w3c/web-platform-tests/compression/compression-large-flush-output.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/compression/compression-large-flush-output.any.js:
(async decompressData):
(promise_test.async t):
* Source/WebCore/Modules/compression/CompressionStreamEncoder.h:
* Source/WebCore/Modules/compression/DecompressionStreamDecoder.h:
* Source/WebCore/Modules/compression/cocoa/CompressionStreamEncoderCocoa.mm:
(WebCore::CompressionStreamEncoder::didDeflateFinishAppleCompressionFramework):
(WebCore::CompressionStreamEncoder::compressAppleCompressionFramework):
* Source/WebCore/Modules/compression/cocoa/DecompressionStreamDecoderCocoa.mm:
(WebCore::DecompressionStreamDecoder::didInflateFinishAppleCompressionFramework):
(WebCore::DecompressionStreamDecoder::decompressAppleCompressionFramework):

Canonical link: https://commits.webkit.org/288500@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list