Bug 11249

Summary: Support gzip content-encoding on Windows
Product: WebKit Reporter: Don Gibson <dgibson77>
Component: WebKit Misc.Assignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: ap, bugs-webkit
Priority: P2    
Version: 420+   
Hardware: PC   
OS: Windows XP   

Description Don Gibson 2006-10-10 16:45:57 PDT
The Windows port should support gzip content-encoding.  On the Mac side this is handled for us, but on Windows this isn't the case: WinInet doesn't support gzip decoding before Longhorn server/Vista.

Therefore, the resource loader will need to support this.  Mozilla has some code to do about the same thing.
Comment 1 Don Gibson 2006-10-10 16:48:21 PDT
Note that currently we don't tell webservers that we support this content encoding, so they don't send it; so the web still works, but we need to support this for network performance/bandwidth reasons.

Also note that this isn't the same thing as gzip transfer-encoding, which apparently few people besides Opera support (although it would presumably be simple once the content-encoding support is done).
Comment 2 Don Gibson 2006-10-10 17:46:27 PDT
The relevant Mozilla code is mainly in http://lxr.mozilla.org/seamonkey/source/netwerk/streamconv/converters/nsHTTPCompressConv.cpp
Comment 3 Don Gibson 2006-10-10 17:54:21 PDT
(In reply to comment #2)
> The relevant Mozilla code is mainly in
> http://lxr.mozilla.org/seamonkey/source/netwerk/streamconv/converters/nsHTTPCompressConv.cpp

Note, this code is mainly to read headers and determine what, exactly, needs to be inflated.  The actual inflation is (I believe) done via zlib, which I think is already linked into WebKit somewhere...
Comment 4 Alexey Proskuryakov 2007-06-23 07:03:20 PDT
This works in Safari 3 beta, presumably implemented in CFNetwork.