// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "content/browser/download/download_create_info.h" #include <string> #include "base/format_macros.h" #include "base/strings/stringprintf.h" namespace content { DownloadCreateInfo::DownloadCreateInfo(const base::Time& start_time, int64 total_bytes, const net::BoundNetLog& bound_net_log, bool has_user_gesture, PageTransition transition_type, scoped_ptr<DownloadSaveInfo> save_info) : start_time(start_time), total_bytes(total_bytes), download_id(DownloadItem::kInvalidId), has_user_gesture(has_user_gesture), transition_type(transition_type), save_info(save_info.Pass()), request_bound_net_log(bound_net_log) {} DownloadCreateInfo::DownloadCreateInfo() : total_bytes(0), download_id(DownloadItem::kInvalidId), has_user_gesture(false), transition_type(PAGE_TRANSITION_LINK), save_info(new DownloadSaveInfo()) { } DownloadCreateInfo::~DownloadCreateInfo() { } std::string DownloadCreateInfo::DebugString() const { return base::StringPrintf("{" " download_id = %u" " url = \"%s\"" " request_handle = %s" " total_bytes = %" PRId64 " }", download_id, url().spec().c_str(), request_handle.DebugString().c_str(), total_bytes); } const GURL& DownloadCreateInfo::url() const { return url_chain.empty() ? GURL::EmptyGURL() : url_chain.back(); } } // namespace content