summaryrefslogtreecommitdiffstats
path: root/chrome_frame/urlmon_url_request.cc
diff options
context:
space:
mode:
authorstoyan@chromium.org <stoyan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-01 16:33:37 +0000
committerstoyan@chromium.org <stoyan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-01 16:33:37 +0000
commit606334078cffc3385560da493c7882a3e849bc86 (patch)
tree2fe64dd1f55bab598e73f16135b5f8e1671138c0 /chrome_frame/urlmon_url_request.cc
parent1bf71ed8bf7b58f63101049a85e1d881802aa500 (diff)
downloadchromium_src-606334078cffc3385560da493c7882a3e849bc86.zip
chromium_src-606334078cffc3385560da493c7882a3e849bc86.tar.gz
chromium_src-606334078cffc3385560da493c7882a3e849bc86.tar.bz2
Do not write non-toplevel POST response into the WINInet cache.
BUG=55918 Review URL: http://codereview.chromium.org/3595004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61184 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/urlmon_url_request.cc')
-rw-r--r--chrome_frame/urlmon_url_request.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/chrome_frame/urlmon_url_request.cc b/chrome_frame/urlmon_url_request.cc
index 6f3e7cb..0466d53 100644
--- a/chrome_frame/urlmon_url_request.cc
+++ b/chrome_frame/urlmon_url_request.cc
@@ -447,6 +447,11 @@ STDMETHODIMP UrlmonUrlRequest::GetBindInfo(DWORD* bind_flags,
// these requests to the browser's cache
*bind_flags |= BINDF_GETNEWESTVERSION | BINDF_PRAGMA_NO_CACHE;
+ // Attempt to avoid storing the response for XHR request.
+ // See http://crbug.com/55918
+ if (resource_type_ != ResourceType::MAIN_FRAME)
+ *bind_flags |= BINDF_NOWRITECACHE;
+
// Initialize the STGMEDIUM.
memset(&bind_info->stgmedData, 0, sizeof(STGMEDIUM));
bind_info->grfBindInfoF = 0;
@@ -949,6 +954,7 @@ void UrlmonUrlRequestManager::StartRequest(int request_id,
request_info.referrer,
request_info.extra_request_headers,
request_info.upload_data,
+ static_cast<ResourceType::Type>(request_info.resource_type),
enable_frame_busting_);
new_request->set_parent_window(notification_window_);
new_request->set_privileged_mode(privileged_mode_);