15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/public/common/url_fetcher.h"
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/bind.h"
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/common/net/url_request_user_data.h"
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "net/url_request/url_fetcher.h"
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace content {
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace {
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)base::SupportsUserData::Data* CreateURLRequestUserData(
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    int render_process_id,
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    int render_view_id) {
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return new URLRequestUserData(render_process_id, render_view_id);
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
235d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)void AssociateURLFetcherWithRenderFrame(net::URLFetcher* url_fetcher,
245d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)                                        const GURL& first_party_for_cookies,
255d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)                                        int render_process_id,
265d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)                                        int render_frame_id) {
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  url_fetcher->SetFirstPartyForCookies(first_party_for_cookies);
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  url_fetcher->SetURLRequestUserData(
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      URLRequestUserData::kUserDataKey,
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      base::Bind(&CreateURLRequestUserData,
315d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)                 render_process_id, render_frame_id));
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace content
35