diff options
-rw-r--r-- | chrome/browser/renderer_host/sync_resource_handler.cc | 9 | ||||
-rw-r--r-- | chrome/browser/renderer_host/sync_resource_handler.h | 1 |
2 files changed, 10 insertions, 0 deletions
diff --git a/chrome/browser/renderer_host/sync_resource_handler.cc b/chrome/browser/renderer_host/sync_resource_handler.cc index c21e7e7..cc74b2d 100644 --- a/chrome/browser/renderer_host/sync_resource_handler.cc +++ b/chrome/browser/renderer_host/sync_resource_handler.cc @@ -16,6 +16,14 @@ SyncResourceHandler::SyncResourceHandler( result_.filter_policy = FilterPolicy::DONT_FILTER; } +SyncResourceHandler::~SyncResourceHandler() { + if (!result_message_) + return; + + result_message_->set_reply_error(); + receiver_->Send(result_message_); +} + bool SyncResourceHandler::OnRequestRedirected(int request_id, const GURL& new_url) { result_.final_url = new_url; @@ -52,5 +60,6 @@ bool SyncResourceHandler::OnResponseCompleted(int request_id, ViewHostMsg_SyncLoad::WriteReplyParams(result_message_, result_); receiver_->Send(result_message_); + result_message_ = NULL; return true; } diff --git a/chrome/browser/renderer_host/sync_resource_handler.h b/chrome/browser/renderer_host/sync_resource_handler.h index 82cebbc..deb7746 100644 --- a/chrome/browser/renderer_host/sync_resource_handler.h +++ b/chrome/browser/renderer_host/sync_resource_handler.h @@ -16,6 +16,7 @@ class SyncResourceHandler : public ResourceHandler { SyncResourceHandler(ResourceDispatcherHost::Receiver* receiver, const GURL& url, IPC::Message* result_message); + ~SyncResourceHandler(); bool OnRequestRedirected(int request_id, const GURL& new_url); bool OnResponseStarted(int request_id, ResourceResponse* response); |