summaryrefslogtreecommitdiffstats
path: root/content/browser/download/download_net_log_parameters.cc
diff options
context:
space:
mode:
authorahendrickson@chromium.org <ahendrickson@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-08 02:24:08 +0000
committerahendrickson@chromium.org <ahendrickson@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-08 02:24:08 +0000
commita6e1201265c2ce00bb5719799c3f0a15f4435ef5 (patch)
tree7e920b941ffcd7c52e89120e479db7eac2ce5f3e /content/browser/download/download_net_log_parameters.cc
parent47940c847f7ac66275bc3470c32134f50f10bd6c (diff)
downloadchromium_src-a6e1201265c2ce00bb5719799c3f0a15f4435ef5.zip
chromium_src-a6e1201265c2ce00bb5719799c3f0a15f4435ef5.tar.gz
chromium_src-a6e1201265c2ce00bb5719799c3f0a15f4435ef5.tar.bz2
Added net logging to DownloadItem.
Should any client of the DownloadItem wish to enable logging for it, they only need to provide a BoundNetLog or NetLog (depending on the download type). None currently do. This is the third of 4 CLs that will enable net logging for downloads. BUG=None TEST=None Review URL: http://codereview.chromium.org/9121053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120911 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/download/download_net_log_parameters.cc')
-rw-r--r--content/browser/download/download_net_log_parameters.cc175
1 files changed, 175 insertions, 0 deletions
diff --git a/content/browser/download/download_net_log_parameters.cc b/content/browser/download/download_net_log_parameters.cc
index 33a17f6..22a800b 100644
--- a/content/browser/download/download_net_log_parameters.cc
+++ b/content/browser/download/download_net_log_parameters.cc
@@ -13,6 +13,181 @@
namespace download_net_logs {
+namespace {
+
+static const char* download_type_names[] = {
+ "NEW_DOWNLOAD",
+ "HISTORY_IMPORT",
+ "SAVE_PAGE_AS"
+};
+static const char* download_safety_names[] = {
+ "SAFE",
+ "DANGEROUS",
+ "DANGEROUS_BUT_VALIDATED"
+};
+static const char* download_danger_names[] = {
+ "NOT_DANGEROUS",
+ "DANGEROUS_FILE",
+ "DANGEROUS_URL",
+ "DANGEROUS_CONTENT",
+ "MAYBE_DANGEROUS_CONTENT"
+};
+
+COMPILE_ASSERT(ARRAYSIZE_UNSAFE(download_type_names) == SRC_SAVE_PAGE_AS + 1,
+ download_type_enum_has_changed);
+COMPILE_ASSERT(ARRAYSIZE_UNSAFE(download_safety_names) ==
+ content::DownloadItem::DANGEROUS_BUT_VALIDATED + 1,
+ downloaditem_safety_state_enum_has_changed);
+COMPILE_ASSERT(ARRAYSIZE_UNSAFE(download_danger_names) ==
+ content::DOWNLOAD_DANGER_TYPE_MAX,
+ download_danger_enum_has_changed);
+
+} // namespace
+
+ItemActivatedParameters::ItemActivatedParameters(
+ DownloadType download_type,
+ int64 id,
+ const std::string& original_url,
+ const std::string& final_url,
+ const std::string& file_name,
+ content::DownloadDangerType danger_type,
+ content::DownloadItem::SafetyState safety_state,
+ int64 start_offset)
+ : type_(download_type),
+ id_(id),
+ original_url_(original_url),
+ final_url_(final_url),
+ file_name_(file_name),
+ danger_type_(danger_type),
+ safety_state_(safety_state),
+ start_offset_(start_offset) {
+}
+
+ItemActivatedParameters::~ItemActivatedParameters() {
+}
+
+Value* ItemActivatedParameters::ToValue() const {
+ DictionaryValue* dict = new DictionaryValue();
+
+ dict->SetString("type", download_type_names[type_]);
+ dict->SetString("id", base::Int64ToString(id_));
+ dict->SetString("original_url", original_url_);
+ dict->SetString("final_url", final_url_);
+ dict->SetString("file_name", file_name_);
+ dict->SetString("danger_type", download_danger_names[danger_type_]);
+ dict->SetString("safety_state", download_safety_names[safety_state_]);
+ dict->SetString("start_offset", base::Int64ToString(start_offset_));
+
+ return dict;
+}
+
+ItemCheckedParameters::ItemCheckedParameters(
+ content::DownloadDangerType danger_type,
+ content::DownloadItem::SafetyState safety_state)
+ : danger_type_(danger_type), safety_state_(safety_state) {
+}
+
+Value* ItemCheckedParameters::ToValue() const {
+ DictionaryValue* dict = new DictionaryValue();
+
+ dict->SetString("danger_type", download_danger_names[danger_type_]);
+ dict->SetString("safety_state", download_safety_names[safety_state_]);
+
+ return dict;
+}
+
+ItemInHistoryParameters::ItemInHistoryParameters(int64 handle)
+ : db_handle_(handle) {
+}
+
+Value* ItemInHistoryParameters::ToValue() const {
+ DictionaryValue* dict = new DictionaryValue();
+
+ dict->SetString("db_handle", base::Int64ToString(db_handle_));
+
+ return dict;
+}
+
+ItemUpdatedParameters::ItemUpdatedParameters(int64 bytes_so_far)
+ : bytes_so_far_(bytes_so_far) {
+}
+
+Value* ItemUpdatedParameters::ToValue() const {
+ DictionaryValue* dict = new DictionaryValue();
+
+ dict->SetString("bytes_so_far", base::Int64ToString(bytes_so_far_));
+
+ return dict;
+}
+
+ItemRenamedParameters::ItemRenamedParameters(
+ const std::string& old_filename, const std::string& new_filename)
+ : old_filename_(old_filename), new_filename_(new_filename) {
+}
+
+Value* ItemRenamedParameters::ToValue() const {
+ DictionaryValue* dict = new DictionaryValue();
+
+ dict->SetString("old_filename", old_filename_);
+ dict->SetString("new_filename", new_filename_);
+
+ return dict;
+}
+
+ItemInterruptedParameters::ItemInterruptedParameters(
+ InterruptReason reason,
+ int64 bytes_so_far,
+ const std::string& hash_state)
+ : reason_(reason),
+ bytes_so_far_(bytes_so_far),
+ hash_state_(hash_state) {
+}
+
+Value* ItemInterruptedParameters::ToValue() const {
+ DictionaryValue* dict = new DictionaryValue();
+
+ dict->SetString("interrupt_reason", InterruptReasonDebugString(reason_));
+ dict->SetString("bytes_so_far", base::Int64ToString(bytes_so_far_));
+ dict->SetString("hash_state",
+ base::HexEncode(hash_state_.data(), hash_state_.size()));
+
+ return dict;
+}
+
+ItemFinishedParameters::ItemFinishedParameters(
+ int64 bytes_so_far,
+ const std::string& final_hash)
+ : bytes_so_far_(bytes_so_far),
+ final_hash_(final_hash) {
+}
+
+Value* ItemFinishedParameters::ToValue() const {
+ DictionaryValue* dict = new DictionaryValue();
+
+ dict->SetString("bytes_so_far", base::Int64ToString(bytes_so_far_));
+ dict->SetString("final_hash",
+ base::HexEncode(final_hash_.data(), final_hash_.size()));
+
+ return dict;
+}
+
+ItemCanceledParameters::ItemCanceledParameters(
+ int64 bytes_so_far,
+ const std::string& hash_state)
+ : bytes_so_far_(bytes_so_far),
+ hash_state_(hash_state) {
+}
+
+Value* ItemCanceledParameters::ToValue() const {
+ DictionaryValue* dict = new DictionaryValue();
+
+ dict->SetString("bytes_so_far", base::Int64ToString(bytes_so_far_));
+ dict->SetString("hash_state",
+ base::HexEncode(hash_state_.data(), hash_state_.size()));
+
+ return dict;
+}
+
FileOpenedParameters::FileOpenedParameters(const std::string& file_name,
int64 start_offset)
: file_name_(file_name), start_offset_(start_offset) {