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 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 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 28 DownloadCreateInfo::DownloadCreateInfo() 29 : total_bytes(0), 30 download_id(DownloadItem::kInvalidId), 31 has_user_gesture(false), 32 transition_type(PAGE_TRANSITION_LINK), 33 save_info(new DownloadSaveInfo()) { 34 } 35 36 DownloadCreateInfo::~DownloadCreateInfo() { 37 } 38 39 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 52 const GURL& DownloadCreateInfo::url() const { 53 return url_chain.empty() ? GURL::EmptyGURL() : url_chain.back(); 54 } 55 56 } // namespace content 57