diff options
author | wtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-13 21:54:55 +0000 |
---|---|---|
committer | wtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-13 21:54:55 +0000 |
commit | 2581e577597dd0f435ae1e6fe918df912bb98248 (patch) | |
tree | 5d1edc9fe3d12eb1d7da8d8361bc57e5ad4dc397 /chrome/common/resource_dispatcher.cc | |
parent | dec173b814e09f0633bdfefad7e1d89c50fa4919 (diff) | |
download | chromium_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.cc | 7 |
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); } |