Intent to Ship: "deflate-raw" on compression and decompression streams

115 views
Skip to first unread message

Yutaka Hirano

unread,
May 6, 2022, 8:10:55 AMMay 6
to blink-dev

Contact emails

yhi...@chromium.org


Explainer

None


Specification

https://wicg.github.io/compression/

https://github.com/wicg/compression/pull/43 (spec PR)

https://chromium-review.googlesource.com/c/chromium/src/+/3586945 (impl and tests)


Summary

Add a new compression format, "deflate-raw", to give web developers access to the raw deflate stream without any headers or footers. This is needed, for example, to read/write zip files.



Blink component

Blink>Network>StreamsAPI


TAG review

This is subtle enough for a separate TAG review.


TAG review status

Not applicable


Risks

Interoperability and Compatibility

This is a new addition and doesn’t change any existing behaviors.


Gecko: No signal

(See the bottom of https://github.com/mozilla/standards-positions/issues/207)


WebKit: No signal

(See https://lists.webkit.org/pipermail/webkit-dev/2022-May/032213.html)


Web developers: Positive

https://github.com/wicg/compression/issues/25


Google Sheets


Google sheets team uses zipping for conversion (client side) of google sheet into different formats such as xlsx. Browser native compression/decompression stream apis have much better performance than using any js library for zipping. 

With support for “deflate-raw” format, we are able to use compression/decompression stream apis for compression of files during zipping in a much simpler way compared to “gzip”, “deflate” format which required workarounds on our side.



Other signals:


WebView application risks

None.



Debuggability

None


Is this feature fully tested by web-platform-tests?

Yes


Flag name



Requires code in //chrome?

False


Tracking bug

https://crbug.com/1271220


Estimated milestones

103


Anticipated spec changes

None



Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5172771293233152


Links to previous Intent discussions

Intent to prototype: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABihn6GYcF5VsvfgEDpYL0rCvxQV9phxwFtJ-FxbTEbqPtJxbg%40mail.gmail.com



This intent message was generated by Chrome Platform Status.


Mike Taylor

unread,
May 6, 2022, 7:24:35 PMMay 6
to Yutaka Hirano, blink-dev
On 5/6/22 8:10 AM, Yutaka Hirano wrote:

Contact emails

yhi...@chromium.org


Explainer

None


Specification

https://wicg.github.io/compression/

https://github.com/wicg/compression/pull/43 (spec PR)

https://chromium-review.googlesource.com/c/chromium/src/+/3586945 (impl and tests)


Summary

Add a new compression format, "deflate-raw", to give web developers access to the raw deflate stream without any headers or footers. This is needed, for example, to read/write zip files.



Blink component

Blink>Network>StreamsAPI


TAG review

This is subtle enough for a separate TAG review.

Do you intend to file one? Or is the above missing a "not"?


TAG review status

Not applicable


Risks

Interoperability and Compatibility

This is a new addition and doesn’t change any existing behaviors.


Gecko: No signal

(See the bottom of https://github.com/mozilla/standards-positions/issues/207)

I pinged that thread to ask if they would prefer us to open a new issue - Compression Streams was marked as "worth prototyping", but that was before "deflaw-raw" existed in the spec.
--
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/CABihn6FXZjL0X-j6_ckQfcbTWFDHoTWJkd0_cLE82juYrUkVpw%40mail.gmail.com.


Yutaka Hirano

unread,
May 8, 2022, 10:46:10 PMMay 8
to Mike Taylor, blink-dev
On Sat, May 7, 2022 at 8:24 AM Mike Taylor <mike...@chromium.org> wrote:
On 5/6/22 8:10 AM, Yutaka Hirano wrote:

Contact emails

yhi...@chromium.org


Explainer

None


Specification

https://wicg.github.io/compression/

https://github.com/wicg/compression/pull/43 (spec PR)

https://chromium-review.googlesource.com/c/chromium/src/+/3586945 (impl and tests)


Summary

Add a new compression format, "deflate-raw", to give web developers access to the raw deflate stream without any headers or footers. This is needed, for example, to read/write zip files.



Blink component

Blink>Network>StreamsAPI


TAG review

This is subtle enough for a separate TAG review.

Do you intend to file one? Or is the above missing a "not"?

Sorry for the unclearness, I wanted to say that we don't need a TAG review for this feature because this is a very small feature.

Mike West

unread,
May 11, 2022, 1:35:07 AMMay 11
to Yutaka Hirano, Mike Taylor, blink-dev
LGTM1. This seems like a logical extension of the existing compression streams mechanism that was discussed at the time, delayed only due to prioritization, not design considerations. It makes a common use case simpler for developers, and does so in a way that's consistent with the rest of the API. Good luck getting it out the door!

-mike


Yoav Weiss

unread,
May 11, 2022, 2:47:44 AMMay 11
to Mike West, Yutaka Hirano, Mike Taylor, blink-dev

TAMURA, Kent

unread,
May 11, 2022, 4:07:35 AMMay 11
to Yutaka Hirano, blink-dev, Mike West, Yoav Weiss, Mike Taylor
LGTM3




--
TAMURA Kent
Software Engineer, Google


Reply all
Reply to author
Forward
0 new messages