// Copyright (c) 2011 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 "chrome/browser/history/download_create_info.h"
#include <string>
#include "base/format_macros.h"
#include "base/stringprintf.h"
DownloadCreateInfo::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)
: path(path),
url_chain(1, url),
path_uniquifier(0),
start_time(start_time),
received_bytes(received_bytes),
total_bytes(total_bytes),
state(state),
download_id(download_id),
has_user_gesture(has_user_gesture),
child_id(-1),
render_view_id(-1),
request_id(-1),
db_handle(0),
prompt_user_for_save_location(false),
is_dangerous_file(false),
is_dangerous_url(false),
is_extension_install(false) {
}
DownloadCreateInfo::DownloadCreateInfo()
: path_uniquifier(0),
received_bytes(0),
total_bytes(0),
state(-1),
download_id(-1),
has_user_gesture(false),
child_id(-1),
render_view_id(-1),
request_id(-1),
db_handle(0),
prompt_user_for_save_location(false),
is_dangerous_file(false),
is_dangerous_url(false),
is_extension_install(false) {
}
DownloadCreateInfo::~DownloadCreateInfo() {
}
bool DownloadCreateInfo::IsDangerous() {
return is_dangerous_url || is_dangerous_file;
}
std::string DownloadCreateInfo::DebugString() const {
return base::StringPrintf("{"
" url_ = \"%s\""
" path = \"%" PRFilePath "\""
" received_bytes = %" PRId64
" total_bytes = %" PRId64
" child_id = %d"
" render_view_id = %d"
" request_id = %d"
" download_id = %d"
" prompt_user_for_save_location = %c"
" }",
url().spec().c_str(),
path.value().c_str(),
received_bytes,
total_bytes,
child_id,
render_view_id,
request_id,
download_id,
prompt_user_for_save_location ? 'T' : 'F');
}
const GURL& DownloadCreateInfo::url() const {
return url_chain.empty() ? GURL::EmptyGURL() : url_chain.back();
}