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