summaryrefslogtreecommitdiffstats
path: root/webkit/build/WebCore
diff options
context:
space:
mode:
authorjar@chromium.org <jar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-01-30 01:38:10 +0000
committerjar@chromium.org <jar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-01-30 01:38:10 +0000
commit462e522c983de882463619a11430a073db6b04af (patch)
tree1a6fe9201b0282d693fe8d8ce036a3503490f1eb /webkit/build/WebCore
parent8674cdb422a69d1ab2b61ff88e61479a8430bec1 (diff)
downloadchromium_src-462e522c983de882463619a11430a073db6b04af.zip
chromium_src-462e522c983de882463619a11430a073db6b04af.tar.gz
chromium_src-462e522c983de882463619a11430a073db6b04af.tar.bz2
Correct handling of filter chaining of SDCH and gzip compression
When a first filter (gzip) has buffered internal data to process, and has already pushed a full 32K buffer to a second filter (such as sdch), but the second filter declined to output anything (and instead asserted it needed more data), then the filter chain was returning FILTER_OK. That status usually meant that the filter should be called again, but the calling code decided that a return of no bytes without a FILTER_NEED_MORE_DATA status must mean the filter was done. Rather than trying to change the calling infrastructure (which could impact existing filters than are not part of a chain), this patch ensures that the chained sequence never returns FILTER_OK without providing some output data. This matches semantics of individual filters, which only return FILTER_OK when they have pushed some data into the output buffer. bug=1609306 r=huanr,openvcdiff Review URL: http://codereview.chromium.org/19459 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8944 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/build/WebCore')
0 files changed, 0 insertions, 0 deletions