Chromium Code Reviews| Index: content/browser/loader/resource_dispatcher_host_impl.cc |
| diff --git a/content/browser/loader/resource_dispatcher_host_impl.cc b/content/browser/loader/resource_dispatcher_host_impl.cc |
| index d69582ea2c130b7c7a3e3e89a5825c7db205de6a..17a9e566fdc798f2c1b3b0c116545f6ef451a1ec 100644 |
| --- a/content/browser/loader/resource_dispatcher_host_impl.cc |
| +++ b/content/browser/loader/resource_dispatcher_host_impl.cc |
| @@ -231,8 +231,9 @@ net::Error CallbackAndReturn( |
| return net_error; |
| } |
| -int BuildLoadFlagsForRequest(const ResourceHostMsg_Request& request_data, |
| - int child_id, bool is_sync_load) { |
| +int BuildLoadFlagsForRequest( |
| + const ResourceHostMsg_Request& request_data, int child_id, |
|
darin (slow to review)
2013/04/11 20:01:23
nit: I think the style guide says to put one argum
Randy Smith (Not in Mondays)
2013/04/12 14:06:44
Wow, right you are. I wonder if that changed rece
|
| + bool is_sync_load) { |
| int load_flags = request_data.load_flags; |
| // Although EV status is irrelevant to sub-frames and sub-resources, we have |
| @@ -702,6 +703,10 @@ void ResourceDispatcherHostImpl::DidReceiveRedirect(ResourceLoader* loader, |
| void ResourceDispatcherHostImpl::DidReceiveResponse(ResourceLoader* loader) { |
| ResourceRequestInfoImpl* info = loader->GetRequestInfo(); |
| + // There should be an entry in the map created when we dispatched the |
|
darin (slow to review)
2013/04/11 20:01:23
DCHECK that this is true? operator[] will create
Randy Smith (Not in Mondays)
2013/04/12 14:06:44
So my basic response to this is "Sure" and I'll pu
|
| + // request. |
| + offline_map_[ProcessRouteIDs(info->GetChildID(), info->GetRouteID())]-> |
|
darin (slow to review)
2013/04/11 20:01:23
It could also be reasonable for ResourceRequestInf
Randy Smith (Not in Mondays)
2013/04/12 14:06:44
Done, though it was a bit of a yak shave. If you
|
| + RequestCompleted(loader->request()->response_info()); |
| int render_process_id, render_view_id; |
| if (!info->GetAssociatedRenderView(&render_process_id, &render_view_id)) |
| @@ -936,6 +941,12 @@ void ResourceDispatcherHostImpl::BeginRequest( |
| int load_flags = |
| BuildLoadFlagsForRequest(request_data, child_id, is_sync_load); |
| + ProcessRouteIDs id(child_id, route_id); |
| + if (!offline_map_[id]) |
| + offline_map_[id] = new OfflinePolicy(); |
| + load_flags |= offline_map_[id]->GetAdditionalLoadFlags( |
| + load_flags, request_data.resource_type); |
| + |
| // Construct the request. |
| scoped_ptr<net::URLRequest> new_request; |
| net::URLRequest* request; |
| @@ -1371,6 +1382,10 @@ void ResourceDispatcherHostImpl::CancelRequestsForRoute(int child_id, |
| CancelBlockedRequestsForRoute(child_id, *iter); |
| } |
| } |
| + |
| + // Cleanup the offline state for the route. |
| + delete offline_map_[ProcessRouteIDs(child_id, route_id)]; |
| + offline_map_.erase(ProcessRouteIDs(child_id, route_id)); |
| } |
| // Cancels the request and removes it from the list. |