download_url_parameters.cc revision 5821806d5e7f356e8fa4b058a389a808ea183019
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/resource_dispatcher_host.h"
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/public/browser/web_contents.h"
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "googleurl/src/gurl.h"
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace content {
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)DownloadUrlParameters::DownloadUrlParameters(
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const GURL& url,
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    int render_process_host_id,
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    int render_view_host_routing_id,
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    ResourceContext* resource_context)
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    : content_initiated_(false),
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      load_flags_(0),
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      method_("GET"),
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      post_id_(-1),
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      prefer_cache_(false),
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      render_process_host_id_(render_process_host_id),
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      render_view_host_routing_id_(render_view_host_routing_id),
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      resource_context_(resource_context),
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      resource_dispatcher_host_(ResourceDispatcherHost::Get()),
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      url_(url) {
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  DCHECK(resource_dispatcher_host_);
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)DownloadUrlParameters::~DownloadUrlParameters() {
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// static
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)DownloadUrlParameters* DownloadUrlParameters::FromWebContents(
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    WebContents* web_contents,
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const GURL& url) {
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return new DownloadUrlParameters(
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      url,
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      web_contents->GetRenderProcessHost()->GetID(),
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      web_contents->GetRenderViewHost()->GetRoutingID(),
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      web_contents->GetBrowserContext()->GetResourceContext());
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace content
51