Index: webkit/glue/multipart_response_delegate.cc |
diff --git a/webkit/glue/multipart_response_delegate.cc b/webkit/glue/multipart_response_delegate.cc |
index 20e207af4c8ba37f1d19e51bbfad9849fd791247..8de6469fb584036d703e489df7745e3450a31fd2 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); |