Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 61a06dede8c655c1be0145ba1ed49fb23b89d339
      
https://github.com/WebKit/WebKit/commit/61a06dede8c655c1be0145ba1ed49fb23b89d339
  Author: Brandon Stewart <[email protected]>
  Date:   2026-02-16 (Mon, 16 Feb 2026)

  Changed paths:
    M 
LayoutTests/imported/w3c/web-platform-tests/compression/decompression-extra-input.any-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/compression/decompression-extra-input.any.serviceworker-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/compression/decompression-extra-input.any.sharedworker-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/compression/decompression-extra-input.any.worker-expected.txt
    M 
LayoutTests/platform/glib/imported/w3c/web-platform-tests/compression/decompression-extra-input.any-expected.txt
    M 
LayoutTests/platform/glib/imported/w3c/web-platform-tests/compression/decompression-extra-input.any.serviceworker-expected.txt
    M 
LayoutTests/platform/glib/imported/w3c/web-platform-tests/compression/decompression-extra-input.any.sharedworker-expected.txt
    M 
LayoutTests/platform/glib/imported/w3c/web-platform-tests/compression/decompression-extra-input.any.worker-expected.txt
    M Source/WebCore/Modules/compression/DecompressionStream.js
    M Source/WebCore/Modules/compression/DecompressionStreamDecoder.cpp
    M Source/WebCore/Modules/compression/DecompressionStreamDecoder.h
    M Source/WebCore/Modules/compression/DecompressionStreamDecoder.idl
    M 
Source/WebCore/Modules/compression/cocoa/DecompressionStreamDecoderCocoa.mm
    M Source/WebCore/bindings/js/WebCoreBuiltinNames.h

  Log Message:
  -----------
  DecompressionStream should output valid data before throwing for extra 
trailing bytes
https://bugs.webkit.org/show_bug.cgi?id=307952
rdar://170439927

Reviewed by Youenn Fablet.

Per the Compression Streams spec, when decompressing data with extra trailing 
bytes
after the end of the compressed stream, the decompressor must:
1. Enqueue the valid decompressed output first
2. Then throw a TypeError

Previously, WebKit threw immediately upon detecting extra bytes, discarding the
valid output.

* 
LayoutTests/imported/w3c/web-platform-tests/compression/decompression-extra-input.any-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/compression/decompression-extra-input.any.serviceworker-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/compression/decompression-extra-input.any.sharedworker-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/compression/decompression-extra-input.any.worker-expected.txt:
* 
LayoutTests/platform/glib/imported/w3c/web-platform-tests/compression/decompression-extra-input.any-expected.txt:
* 
LayoutTests/platform/glib/imported/w3c/web-platform-tests/compression/decompression-extra-input.any.serviceworker-expected.txt:
* 
LayoutTests/platform/glib/imported/w3c/web-platform-tests/compression/decompression-extra-input.any.sharedworker-expected.txt:
* 
LayoutTests/platform/glib/imported/w3c/web-platform-tests/compression/decompression-extra-input.any.worker-expected.txt:
* Source/WebCore/Modules/compression/DecompressionStream.js:
(initializeDecompressionStream):
* Source/WebCore/Modules/compression/DecompressionStreamDecoder.cpp:
(WebCore::DecompressionStreamDecoder::flush):
(WebCore::DecompressionStreamDecoder::didInflateContainExtraBytes const):
(WebCore::didInflateIncompleteInput):
(WebCore::DecompressionStreamDecoder::decompressZlib):
* Source/WebCore/Modules/compression/DecompressionStreamDecoder.h:
(WebCore::DecompressionStreamDecoder::didDetectExtraBytes const):
* Source/WebCore/Modules/compression/DecompressionStreamDecoder.idl:
* Source/WebCore/Modules/compression/cocoa/DecompressionStreamDecoderCocoa.mm:
(WebCore::DecompressionStreamDecoder::decompressAppleCompressionFramework):
* Source/WebCore/bindings/js/WebCoreBuiltinNames.h:

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



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

Reply via email to