1 // Copyright (c) 2011 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 "chrome/browser/history/download_create_info.h"
6
7 #include <string>
8
9 #include "base/format_macros.h"
10 #include "base/stringprintf.h"
11
DownloadCreateInfo(const FilePath & path,const GURL & url,base::Time start_time,int64 received_bytes,int64 total_bytes,int32 state,int32 download_id,bool has_user_gesture)12 DownloadCreateInfo::DownloadCreateInfo(const FilePath& path,
13 const GURL& url,
14 base::Time start_time,
15 int64 received_bytes,
16 int64 total_bytes,
17 int32 state,
18 int32 download_id,
19 bool has_user_gesture)
20 : path(path),
21 url_chain(1, url),
22 path_uniquifier(0),
23 start_time(start_time),
24 received_bytes(received_bytes),
25 total_bytes(total_bytes),
26 state(state),
27 download_id(download_id),
28 has_user_gesture(has_user_gesture),
29 child_id(-1),
30 render_view_id(-1),
31 request_id(-1),
32 db_handle(0),
33 prompt_user_for_save_location(false),
34 is_dangerous_file(false),
35 is_dangerous_url(false),
36 is_extension_install(false) {
37 }
38
DownloadCreateInfo()39 DownloadCreateInfo::DownloadCreateInfo()
40 : path_uniquifier(0),
41 received_bytes(0),
42 total_bytes(0),
43 state(-1),
44 download_id(-1),
45 has_user_gesture(false),
46 child_id(-1),
47 render_view_id(-1),
48 request_id(-1),
49 db_handle(0),
50 prompt_user_for_save_location(false),
51 is_dangerous_file(false),
52 is_dangerous_url(false),
53 is_extension_install(false) {
54 }
55
~DownloadCreateInfo()56 DownloadCreateInfo::~DownloadCreateInfo() {
57 }
58
IsDangerous()59 bool DownloadCreateInfo::IsDangerous() {
60 return is_dangerous_url || is_dangerous_file;
61 }
62
DebugString() const63 std::string DownloadCreateInfo::DebugString() const {
64 return base::StringPrintf("{"
65 " url_ = \"%s\""
66 " path = \"%" PRFilePath "\""
67 " received_bytes = %" PRId64
68 " total_bytes = %" PRId64
69 " child_id = %d"
70 " render_view_id = %d"
71 " request_id = %d"
72 " download_id = %d"
73 " prompt_user_for_save_location = %c"
74 " }",
75 url().spec().c_str(),
76 path.value().c_str(),
77 received_bytes,
78 total_bytes,
79 child_id,
80 render_view_id,
81 request_id,
82 download_id,
83 prompt_user_for_save_location ? 'T' : 'F');
84 }
85
url() const86 const GURL& DownloadCreateInfo::url() const {
87 return url_chain.empty() ? GURL::EmptyGURL() : url_chain.back();
88 }
89