Contact emails
ri...@chromium.org, yhi...@chromium.org
Explainer
https://github.com/wicg/compression/blob/master/explainer.md
Spec
https://wicg.github.io/compression/
TAG review
https://github.com/w3ctag/design-reviews/issues/410
Summary
Provides a means of performing gzip and deflate compression from JavaScript using streams. The CompressionStream API performs compression and the DecompressionStream API performs decompression.
Link to “Intent to Implement” blink-dev discussion
https://groups.google.com/a/chromium.org/d/msg/blink-dev/9gaUKa3QmmE/z_Ef9Xr_DQAJ
Is this feature supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
Yes.
Demo link
https://googlechromelabs-unarchiver.glitch.me/
Debuggability
Normal DevTools JavaScript debugging will work. No special support is needed.
Risks
Interoperability and Compatibility
The main risk is that it fails to become an interoperable part of the web platform if other browsers do not implement it. Browsers may produce different compressed output for the same input.
Firefox: Discussion: https://github.com/mozilla/standards-positions/issues/207. No official conclusion.
Edge: No official signals. Positive comment from Eric Lawrence: https://groups.google.com/a/chromium.org/d/msg/blink-dev/9gaUKa3QmmE/z_Ef9Xr_DQAJ.
Safari: Thread: https://lists.webkit.org/pipermail/webkit-dev/2019-November/030972.html. No public signals yet.
Web developers: Many positive signals. See https://groups.google.com/a/chromium.org/d/msg/blink-dev/9gaUKa3QmmE/z_Ef9Xr_DQAJ.
Ergonomics
The API is very minimal in this first version, which should make it easy to use. Developers familiar with the Streams API will be able to use it without learning anything new. The composability of Streams makes interoperability with other APIs such as TextEncoderStream easy.
Activation
CompressionStream and DecompressionStream can be polyfilled using a JavaScript or wasm implementation of the deflate algorithm. This should make it easy to adopt.
Is this feature fully tested by web-platform-tests? Link to test suite results from wpt.fyi.
Yes, including in-depth testing of error conditions. https://wpt.fyi/results/compression.
Entry on the feature dashboard
https://chromestatus.com/feature/5855937971617792
Contact emails
ri...@chromium.org, yhi...@chromium.org
Explainer
https://github.com/wicg/compression/blob/master/explainer.md
Spec
https://wicg.github.io/compression/
TAG review
https://github.com/w3ctag/design-reviews/issues/410
Summary
Provides a means of performing gzip and deflate compression from JavaScript using streams. The CompressionStream API performs compression and the DecompressionStream API performs decompression.
Link to “Intent to Implement” blink-dev discussion
https://groups.google.com/a/chromium.org/d/msg/blink-dev/9gaUKa3QmmE/z_Ef9Xr_DQAJ
Is this feature supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
Yes.
Demo link
https://googlechromelabs-unarchiver.glitch.me/
Debuggability
Normal DevTools JavaScript debugging will work. No special support is needed.
Risks
Interoperability and Compatibility
The main risk is that it fails to become an interoperable part of the web platform if other browsers do not implement it. Browsers may produce different compressed output for the same input.
Firefox: Discussion: https://github.com/mozilla/standards-positions/issues/207. No official conclusion.
Edge: No official signals. Positive comment from Eric Lawrence: https://groups.google.com/a/chromium.org/d/msg/blink-dev/9gaUKa3QmmE/z_Ef9Xr_DQAJ.
Safari: Thread: https://lists.webkit.org/pipermail/webkit-dev/2019-November/030972.html. No public signals yet.
Web developers: Many positive signals. See https://groups.google.com/a/chromium.org/d/msg/blink-dev/9gaUKa3QmmE/z_Ef9Xr_DQAJ.
Ergonomics
The API is very minimal in this first version, which should make it easy to use. Developers familiar with the Streams API will be able to use it without learning anything new. The composability of Streams makes interoperability with other APIs such as TextEncoderStream easy.
Activation
CompressionStream and DecompressionStream can be polyfilled using a JavaScript or wasm implementation of the deflate algorithm. This should make it easy to adopt.
Is this feature fully tested by web-platform-tests? Link to test suite results from wpt.fyi.
Yes, including in-depth testing of error conditions. https://wpt.fyi/results/compression.
Entry on the feature dashboard
https://chromestatus.com/feature/5855937971617792
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAC_ixdwEu-m_%2BWZ85TXSWMx02%2BKOaC1Oqx5--g07_BqDnsqvDg%40mail.gmail.com.
The WPT suite looks fairly comprehensive (though Blink fails 8 tests, which seems like something we could address).
There's one question that I didn't see an answer to: if we want to support options in the future (by passing in a dictionary as suggested in https://github.com/w3ctag/design-reviews/issues/410#issuecomment-542044821), does anything in the current implementation preclude us from doing so? It seems like we'd just be able to add that to the constructor fairly cleanly...
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAC_ixdwEu-m_%2BWZ85TXSWMx02%2BKOaC1Oqx5--g07_BqDnsqvDg%40mail.gmail.com.
They all pass on ToT. I'm not sure why they're failing on wpt.fyi.