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/browser/download_url_parameters.h"
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/callback.h"
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/public/browser/browser_context.h"
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/public/browser/download_save_info.h"
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/public/browser/render_process_host.h"
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/public/browser/render_view_host.h"
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/public/browser/web_contents.h"
137dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#include "url/gurl.h"
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace content {
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)DownloadUrlParameters::DownloadUrlParameters(
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const GURL& url,
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    int render_process_host_id,
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    int render_view_host_routing_id,
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    ResourceContext* resource_context)
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    : content_initiated_(false),
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      load_flags_(0),
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      method_("GET"),
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      post_id_(-1),
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      prefer_cache_(false),
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      render_process_host_id_(render_process_host_id),
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      render_view_host_routing_id_(render_view_host_routing_id),
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      resource_context_(resource_context),
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      url_(url) {
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)DownloadUrlParameters::~DownloadUrlParameters() {
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// static
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)DownloadUrlParameters* DownloadUrlParameters::FromWebContents(
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    WebContents* web_contents,
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const GURL& url) {
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return new DownloadUrlParameters(
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      url,
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      web_contents->GetRenderProcessHost()->GetID(),
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      web_contents->GetRenderViewHost()->GetRoutingID(),
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      web_contents->GetBrowserContext()->GetResourceContext());
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace content
48