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 #ifndef CONTENT_BROWSER_DOWNLOAD_DOWNLOAD_NET_LOG_PARAMETERS_H_ 6 #define CONTENT_BROWSER_DOWNLOAD_DOWNLOAD_NET_LOG_PARAMETERS_H_ 7 8 #include <string> 9 10 #include "content/public/browser/download_item.h" 11 #include "net/base/net_errors.h" 12 #include "net/base/net_log.h" 13 14 class GURL; 15 16 namespace base { 17 class FilePath; 18 } 19 20 namespace content { 21 22 enum DownloadType { 23 SRC_ACTIVE_DOWNLOAD, 24 SRC_HISTORY_IMPORT, 25 SRC_SAVE_PAGE_AS 26 }; 27 28 // Returns NetLog parameters when a DownloadItem is activated. 29 base::Value* ItemActivatedNetLogCallback( 30 const DownloadItem* download_item, 31 DownloadType download_type, 32 const std::string* file_name, 33 net::NetLog::LogLevel log_level); 34 35 // Returns NetLog parameters when a DownloadItem is checked for danger. 36 base::Value* ItemCheckedNetLogCallback( 37 DownloadDangerType danger_type, 38 net::NetLog::LogLevel log_level); 39 40 // Returns NetLog parameters when a DownloadItem is renamed. 41 base::Value* ItemRenamedNetLogCallback(const base::FilePath* old_filename, 42 const base::FilePath* new_filename, 43 net::NetLog::LogLevel log_level); 44 45 // Returns NetLog parameters when a DownloadItem is interrupted. 46 base::Value* ItemInterruptedNetLogCallback(DownloadInterruptReason reason, 47 int64 bytes_so_far, 48 const std::string* hash_state, 49 net::NetLog::LogLevel log_level); 50 51 // Returns NetLog parameters when a DownloadItem is resumed. 52 base::Value* ItemResumingNetLogCallback(bool user_initiated, 53 DownloadInterruptReason reason, 54 int64 bytes_so_far, 55 const std::string* hash_state, 56 net::NetLog::LogLevel log_level); 57 58 // Returns NetLog parameters when a DownloadItem is completing. 59 base::Value* ItemCompletingNetLogCallback(int64 bytes_so_far, 60 const std::string* final_hash, 61 net::NetLog::LogLevel log_level); 62 63 // Returns NetLog parameters when a DownloadItem is finished. 64 base::Value* ItemFinishedNetLogCallback(bool auto_opened, 65 net::NetLog::LogLevel log_level); 66 67 // Returns NetLog parameters when a DownloadItem is canceled. 68 base::Value* ItemCanceledNetLogCallback(int64 bytes_so_far, 69 const std::string* hash_state, 70 net::NetLog::LogLevel log_level); 71 72 // Returns NetLog parameters when a DownloadFile is opened. 73 base::Value* FileOpenedNetLogCallback(const base::FilePath* file_name, 74 int64 start_offset, 75 net::NetLog::LogLevel log_level); 76 77 // Returns NetLog parameters when a DownloadFile is opened. 78 base::Value* FileStreamDrainedNetLogCallback(size_t stream_size, 79 size_t num_buffers, 80 net::NetLog::LogLevel log_level); 81 82 // Returns NetLog parameters when a DownloadFile is renamed. 83 base::Value* FileRenamedNetLogCallback(const base::FilePath* old_filename, 84 const base::FilePath* new_filename, 85 net::NetLog::LogLevel log_level); 86 87 // Returns NetLog parameters when a File has an error. 88 base::Value* FileErrorNetLogCallback(const char* operation, 89 net::Error net_error, 90 net::NetLog::LogLevel log_level); 91 92 // Returns NetLog parameters for a download interruption. 93 base::Value* FileInterruptedNetLogCallback(const char* operation, 94 int os_error, 95 DownloadInterruptReason reason, 96 net::NetLog::LogLevel log_level); 97 98 } // namespace content 99 100 #endif // CONTENT_BROWSER_DOWNLOAD_DOWNLOAD_NET_LOG_PARAMETERS_H_ 101