[webkit-changes] [WebKit/WebKit] 0d3451: Add Compression Streams Brotli
Brandon Stewart
noreply at github.com
Fri Oct 18 05:04:16 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 0d3451c531c810977123d2b9503ed968381d2004
https://github.com/WebKit/WebKit/commit/0d3451c531c810977123d2b9503ed968381d2004
Author: Brandon Stewart <brandonstewart at apple.com>
Date: 2024-10-18 (Fri, 18 Oct 2024)
Changed paths:
M LayoutTests/imported/w3c/web-platform-tests/compression/compression-bad-chunks.tentative.any-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/compression/compression-bad-chunks.tentative.any.js
M LayoutTests/imported/w3c/web-platform-tests/compression/compression-bad-chunks.tentative.any.serviceworker-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/compression/compression-bad-chunks.tentative.any.sharedworker-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/compression/compression-bad-chunks.tentative.any.worker-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/compression/compression-output-length.tentative.any-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/compression/compression-output-length.tentative.any.js
M LayoutTests/imported/w3c/web-platform-tests/compression/compression-output-length.tentative.any.serviceworker-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/compression/compression-output-length.tentative.any.sharedworker-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/compression/compression-output-length.tentative.any.worker-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/compression/decompression-bad-chunks.tentative.any-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/compression/decompression-bad-chunks.tentative.any.js
M LayoutTests/imported/w3c/web-platform-tests/compression/decompression-bad-chunks.tentative.any.serviceworker-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/compression/decompression-bad-chunks.tentative.any.sharedworker-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/compression/decompression-bad-chunks.tentative.any.worker-expected.txt
A LayoutTests/platform/glib/imported/w3c/web-platform-tests/compression/compression-bad-chunks.tentative.any-expected.txt
A LayoutTests/platform/glib/imported/w3c/web-platform-tests/compression/compression-bad-chunks.tentative.any.serviceworker-expected.txt
A LayoutTests/platform/glib/imported/w3c/web-platform-tests/compression/compression-bad-chunks.tentative.any.sharedworker-expected.txt
A LayoutTests/platform/glib/imported/w3c/web-platform-tests/compression/compression-bad-chunks.tentative.any.worker-expected.txt
A LayoutTests/platform/glib/imported/w3c/web-platform-tests/compression/compression-output-length.tentative.any-expected.txt
A LayoutTests/platform/glib/imported/w3c/web-platform-tests/compression/compression-output-length.tentative.any.serviceworker-expected.txt
A LayoutTests/platform/glib/imported/w3c/web-platform-tests/compression/compression-output-length.tentative.any.sharedworker-expected.txt
A LayoutTests/platform/glib/imported/w3c/web-platform-tests/compression/compression-output-length.tentative.any.worker-expected.txt
A LayoutTests/platform/glib/imported/w3c/web-platform-tests/compression/decompression-bad-chunks.tentative.any-expected.txt
A LayoutTests/platform/glib/imported/w3c/web-platform-tests/compression/decompression-bad-chunks.tentative.any.serviceworker-expected.txt
A LayoutTests/platform/glib/imported/w3c/web-platform-tests/compression/decompression-bad-chunks.tentative.any.sharedworker-expected.txt
A LayoutTests/platform/glib/imported/w3c/web-platform-tests/compression/decompression-bad-chunks.tentative.any.worker-expected.txt
A Source/WebCore/Modules/compression/CompressionStream.cpp
A Source/WebCore/Modules/compression/CompressionStream.h
M Source/WebCore/Modules/compression/CompressionStream.js
M Source/WebCore/Modules/compression/CompressionStreamEncoder.cpp
M Source/WebCore/Modules/compression/CompressionStreamEncoder.h
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/Formats.h
A Source/WebCore/Modules/compression/ZStream.cpp
A Source/WebCore/Modules/compression/ZStream.h
A Source/WebCore/Modules/compression/cocoa/CompressionStreamEncoderCocoa.mm
A Source/WebCore/Modules/compression/cocoa/DecompressionStreamDecoderCocoa.mm
M Source/WebCore/Modules/notifications/NotificationPayloadCocoa.mm
M Source/WebCore/Sources.txt
M Source/WebCore/SourcesCocoa.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
Log Message:
-----------
Add Compression Streams Brotli
https://bugs.webkit.org/show_bug.cgi?id=280445
rdar://99159497
Reviewed by Alex Christensen and Ryosuke Niwa.
Add Brotli support to Compression Streams by using Apple's Compression Framework.
Co-authored-by: Alex Christensen <achristensen at apple.com>
Initial implementation and tests written by Brandon Stewart.
Alex implemented a substantial refactor to improve upon the implementation.
* LayoutTests/imported/w3c/web-platform-tests/compression/compression-bad-chunks.tentative.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/compression/compression-bad-chunks.tentative.any.js:
(const.chunk.of.badChunks.promise_test.async t):
* LayoutTests/imported/w3c/web-platform-tests/compression/compression-bad-chunks.tentative.any.serviceworker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/compression/compression-bad-chunks.tentative.any.sharedworker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/compression/compression-bad-chunks.tentative.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/compression/compression-output-length.tentative.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/compression/compression-output-length.tentative.any.js:
* LayoutTests/imported/w3c/web-platform-tests/compression/compression-output-length.tentative.any.serviceworker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/compression/compression-output-length.tentative.any.sharedworker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/compression/compression-output-length.tentative.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/compression/decompression-bad-chunks.tentative.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/compression/decompression-bad-chunks.tentative.any.js:
(const.chunk.of.badChunks.promise_test.async t):
* LayoutTests/imported/w3c/web-platform-tests/compression/decompression-bad-chunks.tentative.any.serviceworker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/compression/decompression-bad-chunks.tentative.any.sharedworker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/compression/decompression-bad-chunks.tentative.any.worker-expected.txt:
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/compression/compression-bad-chunks.tentative.any-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/compression/compression-bad-chunks.tentative.any-expected.txt.
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/compression/compression-bad-chunks.tentative.any.serviceworker-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/compression/compression-bad-chunks.tentative.any.serviceworker-expected.txt.
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/compression/compression-bad-chunks.tentative.any.sharedworker-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/compression/compression-bad-chunks.tentative.any.sharedworker-expected.txt.
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/compression/compression-bad-chunks.tentative.any.worker-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/compression/compression-bad-chunks.tentative.any.worker-expected.txt.
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/compression/compression-output-length.tentative.any-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/compression/compression-output-length.tentative.any-expected.txt.
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/compression/compression-output-length.tentative.any.serviceworker-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/compression/compression-output-length.tentative.any.serviceworker-expected.txt.
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/compression/compression-output-length.tentative.any.sharedworker-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/compression/compression-output-length.tentative.any.sharedworker-expected.txt.
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/compression/compression-output-length.tentative.any.worker-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/compression/compression-output-length.tentative.any.worker-expected.txt.
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/compression/decompression-bad-chunks.tentative.any-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/compression/decompression-bad-chunks.tentative.any-expected.txt.
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/compression/decompression-bad-chunks.tentative.any.serviceworker-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/compression/decompression-bad-chunks.tentative.any.serviceworker-expected.txt.
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/compression/decompression-bad-chunks.tentative.any.sharedworker-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/compression/decompression-bad-chunks.tentative.any.sharedworker-expected.txt.
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/compression/decompression-bad-chunks.tentative.any.worker-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/compression/decompression-bad-chunks.tentative.any.worker-expected.txt.
* Source/WebCore/Modules/compression/CompressionStream.cpp: Added.
(WebCore::CompressionStream::CompressionStream):
(WebCore::CompressionStream::~CompressionStream):
(WebCore::CompressionStream::initializeIfNecessary):
* Source/WebCore/Modules/compression/CompressionStream.h: Added.
(WebCore::CompressionStream::get):
* Source/WebCore/Modules/compression/CompressionStream.js:
(initializeCompressionStream):
* Source/WebCore/Modules/compression/CompressionStreamEncoder.cpp:
(WebCore::CompressionStreamEncoder::didDeflateFinish const):
(WebCore::CompressionStreamEncoder::compress):
(WebCore::compressionAlgorithm):
(WebCore::CompressionStreamEncoder::compressZlib):
(WebCore::CompressionStreamEncoder::initialize): Deleted.
* Source/WebCore/Modules/compression/CompressionStreamEncoder.h:
(WebCore::CompressionStreamEncoder::create):
(WebCore::CompressionStreamEncoder::CompressionStreamEncoder):
(WebCore::CompressionStreamEncoder::~CompressionStreamEncoder): Deleted.
* Source/WebCore/Modules/compression/DecompressionStream.js:
(initializeDecompressionStream):
* Source/WebCore/Modules/compression/DecompressionStreamDecoder.cpp:
(WebCore::DecompressionStreamDecoder::decompress):
(WebCore::DecompressionStreamDecoder::didInflateFinish const):
(WebCore::DecompressionStreamDecoder::didInflateContainExtraBytes const):
(WebCore::decompressionAlgorithm):
(WebCore::DecompressionStreamDecoder::decompressZlib):
(WebCore::DecompressionStreamDecoder::initialize): Deleted.
(WebCore::DecompressionStreamDecoder::initializeAppleCompressionFramework): Deleted.
(WebCore::DecompressionStreamDecoder::decompressAppleCompressionFramework): Deleted.
* Source/WebCore/Modules/compression/DecompressionStreamDecoder.h:
(WebCore::DecompressionStreamDecoder::create):
(WebCore::DecompressionStreamDecoder::DecompressionStreamDecoder):
(WebCore::DecompressionStreamDecoder::~DecompressionStreamDecoder): Deleted.
* Source/WebCore/Modules/compression/Formats.h:
(): Deleted.
* Source/WebCore/Modules/compression/ZStream.cpp: Added.
(WebCore::ZStream::initializeIfNecessary):
(WebCore::ZStream::ZStream):
(WebCore::ZStream::~ZStream):
* Source/WebCore/Modules/compression/ZStream.h: Added.
(WebCore::ZStream::get):
(WebCore::ZStream::get const):
* Source/WebCore/Modules/compression/cocoa/CompressionStreamEncoderCocoa.mm: Added.
(WebCore::CompressionStreamEncoder::compressAppleCompressionFramework):
* Source/WebCore/Modules/compression/cocoa/DecompressionStreamDecoderCocoa.mm: Added.
(WebCore::DecompressionStreamDecoder::decompressAppleCompressionFramework):
* Source/WebCore/Modules/notifications/NotificationPayloadCocoa.mm:
* Source/WebCore/Sources.txt:
* Source/WebCore/SourcesCocoa.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
Canonical link: https://commits.webkit.org/285391@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