• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "content/browser/download/download_create_info.h"
6 
7 #include <string>
8 
9 #include "base/format_macros.h"
10 #include "base/strings/stringprintf.h"
11 
12 namespace content {
13 
DownloadCreateInfo(const base::Time & start_time,int64 total_bytes,const net::BoundNetLog & bound_net_log,bool has_user_gesture,ui::PageTransition transition_type,scoped_ptr<DownloadSaveInfo> save_info)14 DownloadCreateInfo::DownloadCreateInfo(const base::Time& start_time,
15                                        int64 total_bytes,
16                                        const net::BoundNetLog& bound_net_log,
17                                        bool has_user_gesture,
18                                        ui::PageTransition transition_type,
19                                        scoped_ptr<DownloadSaveInfo> save_info)
20     : start_time(start_time),
21       total_bytes(total_bytes),
22       download_id(DownloadItem::kInvalidId),
23       has_user_gesture(has_user_gesture),
24       transition_type(transition_type),
25       save_info(save_info.Pass()),
26       request_bound_net_log(bound_net_log) {}
27 
DownloadCreateInfo()28 DownloadCreateInfo::DownloadCreateInfo()
29     : total_bytes(0),
30       download_id(DownloadItem::kInvalidId),
31       has_user_gesture(false),
32       transition_type(ui::PAGE_TRANSITION_LINK),
33       save_info(new DownloadSaveInfo()) {
34 }
35 
~DownloadCreateInfo()36 DownloadCreateInfo::~DownloadCreateInfo() {
37 }
38 
DebugString() const39 std::string DownloadCreateInfo::DebugString() const {
40   return base::StringPrintf("{"
41                             " download_id = %u"
42                             " url = \"%s\""
43                             " request_handle = %s"
44                             " total_bytes = %" PRId64
45                             " }",
46                             download_id,
47                             url().spec().c_str(),
48                             request_handle.DebugString().c_str(),
49                             total_bytes);
50 }
51 
url() const52 const GURL& DownloadCreateInfo::url() const {
53   return url_chain.empty() ? GURL::EmptyGURL() : url_chain.back();
54 }
55 
56 }  // namespace content
57