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 12namespace content { 13 14DownloadCreateInfo::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 28DownloadCreateInfo::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 36DownloadCreateInfo::~DownloadCreateInfo() { 37} 38 39std::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 52const GURL& DownloadCreateInfo::url() const { 53 return url_chain.empty() ? GURL::EmptyGURL() : url_chain.back(); 54} 55 56} // namespace content 57