summaryrefslogtreecommitdiffstats
path: root/chrome/common/resource_dispatcher.cc
diff options
context:
space:
mode:
authorwtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-13 21:54:55 +0000
committerwtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-13 21:54:55 +0000
commit2581e577597dd0f435ae1e6fe918df912bb98248 (patch)
tree5d1edc9fe3d12eb1d7da8d8361bc57e5ad4dc397 /chrome/common/resource_dispatcher.cc
parentdec173b814e09f0633bdfefad7e1d89c50fa4919 (diff)
downloadchromium_src-2581e577597dd0f435ae1e6fe918df912bb98248.zip
chromium_src-2581e577597dd0f435ae1e6fe918df912bb98248.tar.gz
chromium_src-2581e577597dd0f435ae1e6fe918df912bb98248.tar.bz2
Propagate the "first party for cookies" from WebKit to the network stack
when we follow a redirect, because WebKit's MainResourceLoader::willSendRequest method may change the "first party for cookies" URL of the resource request. R=abarth BUG=25133 TEST=In Options menu, change cookie policy to "Accept cookies only from sites I visit" and then follow the instructions in issue 25133 comment 20. Review URL: http://codereview.chromium.org/385024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31951 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common/resource_dispatcher.cc')
-rw-r--r--chrome/common/resource_dispatcher.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/chrome/common/resource_dispatcher.cc b/chrome/common/resource_dispatcher.cc
index 36c66a9..ed0365a 100644
--- a/chrome/common/resource_dispatcher.cc
+++ b/chrome/common/resource_dispatcher.cc
@@ -421,9 +421,12 @@ void ResourceDispatcher::OnReceivedRedirect(
RESOURCE_LOG("Dispatching redirect for " <<
request_info.peer->GetURLForDebugging().possibly_invalid_spec());
- if (request_info.peer->OnReceivedRedirect(new_url, info)) {
+ GURL new_first_party_for_cookies;
+ if (request_info.peer->OnReceivedRedirect(new_url, info,
+ &new_first_party_for_cookies)) {
message_sender()->Send(
- new ViewHostMsg_FollowRedirect(message.routing_id(), request_id));
+ new ViewHostMsg_FollowRedirect(message.routing_id(), request_id,
+ new_first_party_for_cookies));
} else {
CancelPendingRequest(message.routing_id(), request_id);
}