| Index: content/browser/renderer_host/resource_dispatcher_host.cc
|
| diff --git a/content/browser/renderer_host/resource_dispatcher_host.cc b/content/browser/renderer_host/resource_dispatcher_host.cc
|
| index a3c4bd4a6ff4560da43f314677ec4ef88b5fde1d..b81722d9a12782c7c9a3e83c81737f4682715daa 100644
|
| --- a/content/browser/renderer_host/resource_dispatcher_host.cc
|
| +++ b/content/browser/renderer_host/resource_dispatcher_host.cc
|
| @@ -345,6 +345,8 @@ bool ResourceDispatcherHost::OnMessageReceived(const IPC::Message& message,
|
| IPC_MESSAGE_HANDLER(ResourceHostMsg_DataDownloaded_ACK, OnDataDownloadedACK)
|
| IPC_MESSAGE_HANDLER(ResourceHostMsg_UploadProgress_ACK, OnUploadProgressACK)
|
| IPC_MESSAGE_HANDLER(ResourceHostMsg_CancelRequest, OnCancelRequest)
|
| + IPC_MESSAGE_HANDLER(ResourceHostMsg_TransferRequestToNewPage,
|
| + OnTransferRequestToNewPage)
|
| IPC_MESSAGE_HANDLER(ResourceHostMsg_FollowRedirect, OnFollowRedirect)
|
| IPC_MESSAGE_HANDLER(ViewHostMsg_SwapOut_ACK, OnSwapOutACK)
|
| IPC_MESSAGE_HANDLER(ViewHostMsg_DidLoadResourceFromMemoryCache,
|
| @@ -641,6 +643,24 @@ void ResourceDispatcherHost::OnCancelRequest(int request_id) {
|
| CancelRequest(filter_->child_id(), request_id, true);
|
| }
|
|
|
| +// Assigns the pending request a new routing_id because it was transferred
|
| +// to a new page.
|
| +void ResourceDispatcherHost::OnTransferRequestToNewPage(int new_routing_id,
|
| + int request_id) {
|
| + PendingRequestList::iterator i = pending_requests_.find(
|
| + GlobalRequestID(filter_->child_id(), request_id));
|
| + if (i == pending_requests_.end()) {
|
| + // We probably want to remove this warning eventually, but I wanted to be
|
| + // able to notice when this happens during initial development since it
|
| + // should be rare and may indicate a bug.
|
| + DLOG(WARNING) << "Updating a request that wasn't found";
|
| + return;
|
| + }
|
| + net::URLRequest* request = i->second;
|
| + ResourceDispatcherHostRequestInfo* info = InfoForRequest(request);
|
| + info->set_route_id(new_routing_id);
|
| +}
|
| +
|
| void ResourceDispatcherHost::OnFollowRedirect(
|
| int request_id,
|
| bool has_new_first_party_for_cookies,
|
|
|