diff options
author | tony@chromium.org <tony@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-04 04:22:45 +0000 |
---|---|---|
committer | tony@chromium.org <tony@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-04 04:22:45 +0000 |
commit | a6020e3749e034e6fdd6c5ed656d2f3915e7b3c9 (patch) | |
tree | a2d59d7a96066e8ee09feace35b7393b2a6d05d3 /webkit/glue/multipart_response_delegate.cc | |
parent | efbe3c63f38d26d8fb707a28e17854243fc72f82 (diff) | |
download | chromium_src-a6020e3749e034e6fdd6c5ed656d2f3915e7b3c9.zip chromium_src-a6020e3749e034e6fdd6c5ed656d2f3915e7b3c9.tar.gz chromium_src-a6020e3749e034e6fdd6c5ed656d2f3915e7b3c9.tar.bz2 |
Avoid having every frame of a multipart response create a
new row in the history database. We do this by setting a flag
on the WebURLResponse created for multipart responses and not
updating the history db when this flag is set.
BUG=34350
Review URL: http://codereview.chromium.org/661445
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40599 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue/multipart_response_delegate.cc')
-rw-r--r-- | webkit/glue/multipart_response_delegate.cc | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/webkit/glue/multipart_response_delegate.cc b/webkit/glue/multipart_response_delegate.cc index 20e207a..8de6469 100644 --- a/webkit/glue/multipart_response_delegate.cc +++ b/webkit/glue/multipart_response_delegate.cc @@ -64,7 +64,8 @@ MultipartResponseDelegate::MultipartResponseDelegate( boundary_("--"), first_received_data_(true), processing_headers_(false), - stop_sending_(false) { + stop_sending_(false), + has_sent_first_response_(false) { // Some servers report a boundary prefixed with "--". See bug 5786. if (StartsWithASCII(boundary, "--", true)) { boundary_.assign(boundary); @@ -227,6 +228,12 @@ bool MultipartResponseDelegate::ParseHeaders() { WebString::fromUTF8(value)); } } + // To avoid recording every multipart load as a separate visit in + // the history database, we want to keep track of whether the response + // is part of a multipart payload. We do want to record the first visit, + // so we only set isMultipartPayload to true after the first visit. + response.setIsMultipartPayload(has_sent_first_response_); + has_sent_first_response_ = true; // Send the response! client_->didReceiveResponse(loader_, response); |