Home | History | Annotate | Download | only in 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 
     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