| Index: content/renderer/render_frame_impl.cc
|
| diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
|
| index cfce1ee9392a594905860c1e3c5027f6c39cb55e..c00db3e1d8a9dd7da55b8fc4df4f4c4e92092344 100644
|
| --- a/content/renderer/render_frame_impl.cc
|
| +++ b/content/renderer/render_frame_impl.cc
|
| @@ -2353,6 +2353,17 @@ void RenderFrameImpl::willSendRequest(
|
| if (request.url().isEmpty())
|
| return;
|
|
|
| + // Set the first party for cookies url if it has not been set yet (new
|
| + // requests). For redirects, it is updated by WebURLLoaderImpl.
|
| + if (request.firstPartyForCookies().isEmpty()) {
|
| + if (request.targetType() == blink::WebURLRequest::TargetIsMainFrame) {
|
| + request.setFirstPartyForCookies(request.url());
|
| + } else {
|
| + request.setFirstPartyForCookies(
|
| + frame->top()->document().firstPartyForCookies());
|
| + }
|
| + }
|
| +
|
| WebFrame* top_frame = frame->top();
|
| if (!top_frame)
|
| top_frame = frame;
|
|
|