Bug 154859 - Add support for format brotli for HTTP compression
Summary: Add support for format brotli for HTTP compression
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebCore Misc. (show other bugs)
Version: WebKit Nightly Build
Hardware: All All
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on: 152616
Blocks:
  Show dependency treegraph
 
Reported: 2016-03-01 07:27 PST by Frédéric Wang (:fredw)
Modified: 2017-10-30 09:09 PDT (History)
9 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Frédéric Wang (:fredw) 2016-03-01 07:27:06 PST
I'm opening this for the record, although that will probably need to be discussed on the webkit-dev mailing list. For GTK, we can rely on the work done in bug 152616 to bundle the brotli library.

Here are corresponding references for Gecko and Blink:

https://developer.mozilla.org/en-US/Firefox/Releases/44#HTTP
https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/JufzX024oy0/WEOGbN43AwAJ
Comment 1 Radar WebKit Bug Importer 2016-03-01 22:25:18 PST
<rdar://problem/24925533>
Comment 2 m.kurz+webkitbugs 2017-02-02 13:55:01 PST
Can we expect brotli support in Webkit/Safari anytime soon? What's the plan?
MS Edge will have brotli support in upcoming Edge 15 - resulting in Webkit as the only browser left missing it. See http://caniuse.com/#feat=brotli
Comment 3 Eugene Klyuchnikov 2017-02-21 04:15:37 PST
That might sound funny, but Webkit is not responsible for processing Content-Encodings.
All the network thingy are actually done in libcurl (IIUC).
So, when libcurl gets Brotli encoding support, WebKit, hopefully, will have it as well.
Comment 4 Brady Eidson 2017-02-21 11:09:03 PST
(In reply to comment #3)
> That might sound funny, but Webkit is not responsible for processing
> Content-Encodings.

This is true.

> All the network thingy are actually done in libcurl (IIUC).

This is not true for all platforms.

> So, when libcurl gets Brotli encoding support, WebKit, hopefully, will have
> it as well.

If/when libcurl gets it, platforms that use libcurl will get it.
Comment 5 Michael Catanzaro 2017-10-30 09:09:08 PDT
(In reply to Eugene Klyuchnikov from comment #3)
> So, when libcurl gets Brotli encoding support, WebKit, hopefully, will have
> it as well.

The curl network backend is only used by WinCairo, which is not actually used by anybody except as a basis for proprietary WebKit ports. So you're probably not interested in it. It was abandoned for a long time, but now it's being maintained by Sony.

The other backends are libsoup (used by WebKitGTK+ and WPE) and Core Foundation (for macOS, iOS, and Apple Windows).

The details of where brotli support has to be implemented will vary for each of the three different network ports. E.g. for libsoup the current plan is to not support brotli in libsoup itself, due to limited adoption, so it may have to be implemented in WebKit if that plan does not change. That's https://bugzilla.gnome.org/show_bug.cgi?id=788418.