| 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 d915806d302b3dcf87634bac2f52792debf74718..1d8c8df6e47769845d81d3feb757aac2efa0810e 100644
|
| --- a/content/browser/renderer_host/resource_dispatcher_host.cc
|
| +++ b/content/browser/renderer_host/resource_dispatcher_host.cc
|
| @@ -894,7 +894,14 @@ net::Error ResourceDispatcherHost::BeginDownload(
|
| request->set_context(request_context);
|
| int extra_load_flags = net::LOAD_IS_DOWNLOAD;
|
| if (prefer_cache) {
|
| - extra_load_flags |= net::LOAD_PREFERRING_CACHE;
|
| + // If there is upload data attached, only retrieve from cache because there
|
| + // is no current mechanism to prompt the user for their consent for a
|
| + // re-post. For GETs, try to retrieve data from the cache and skip
|
| + // validating the entry if present.
|
| + if (request->get_upload() != NULL)
|
| + extra_load_flags |= net::LOAD_ONLY_FROM_CACHE;
|
| + else
|
| + extra_load_flags |= net::LOAD_PREFERRING_CACHE;
|
| } else {
|
| extra_load_flags |= net::LOAD_DISABLE_CACHE;
|
| }
|
|
|