| Index: chrome/browser/media/webrtc_log_uploader.h
|
| diff --git a/chrome/browser/media/webrtc_log_uploader.h b/chrome/browser/media/webrtc_log_uploader.h
|
| index dd9c916e2951a63f7e94e8632f50115dfecf2e22..eee38a52f22bb13c4f61d82a1dd607e3a4d02662 100644
|
| --- a/chrome/browser/media/webrtc_log_uploader.h
|
| +++ b/chrome/browser/media/webrtc_log_uploader.h
|
| @@ -29,13 +29,10 @@ typedef struct z_stream_s z_stream;
|
|
|
| // Used when uploading is done to perform post-upload actions. |log_path| is
|
| // also used pre-upload.
|
| -struct WebRtcLogUploadDoneData {
|
| +struct WebRtcLogUploadDoneData : public WebRtcLogPaths {
|
| WebRtcLogUploadDoneData();
|
| ~WebRtcLogUploadDoneData();
|
|
|
| - base::FilePath log_path;
|
| - base::FilePath incoming_rtp_dump;
|
| - base::FilePath outgoing_rtp_dump;
|
| WebRtcLoggingHandlerHost::UploadDoneCallback callback;
|
| scoped_refptr<WebRtcLoggingHandlerHost> host;
|
| std::string local_log_id;
|
| @@ -75,11 +72,23 @@ class WebRtcLogUploader : public net::URLFetcherDelegate {
|
| // |upload_done_data.local_log_id| is set and used internally and should be
|
| // left empty.
|
| void LoggingStoppedDoUpload(
|
| - scoped_ptr<unsigned char[]> log_buffer,
|
| - uint32 length,
|
| - const std::map<std::string, std::string>& meta_data,
|
| + scoped_ptr<WebRtcLogBuffer> log_buffer,
|
| + scoped_ptr<MetaDataMap> meta_data,
|
| const WebRtcLogUploadDoneData& upload_done_data);
|
|
|
| + // Uploads a previously stored log (see LoggingStoppedDoStore()).
|
| + void UploadStoredLog(const WebRtcLogUploadDoneData& upload_data);
|
| +
|
| + // Similarly to LoggingStoppedDoUpload(), we store the log in compressed
|
| + // format on disk but add the option to specify a unique |log_id| for later
|
| + // identification and potential upload.
|
| + void LoggingStoppedDoStore(
|
| + const WebRtcLogPaths& log_paths,
|
| + const std::string& log_id,
|
| + scoped_ptr<WebRtcLogBuffer> log_buffer,
|
| + scoped_ptr<MetaDataMap> meta_data,
|
| + const WebRtcLoggingHandlerHost::GenericDoneCallback& done_callback);
|
| +
|
| // Cancels URL fetcher operation by deleting all URL fetchers. This cancels
|
| // any pending uploads and releases SystemURLRequestContextGetter references.
|
| // Sets |shutting_down_| which prevent new fetchers to be created.
|
| @@ -101,16 +110,15 @@ class WebRtcLogUploader : public net::URLFetcherDelegate {
|
| // Sets up a multipart body to be uploaded. The body is produced according
|
| // to RFC 2046.
|
| void SetupMultipart(std::string* post_data,
|
| - const std::vector<uint8>& compressed_log,
|
| + const std::string& compressed_log,
|
| const base::FilePath& incoming_rtp_dump,
|
| const base::FilePath& outgoing_rtp_dump,
|
| const std::map<std::string, std::string>& meta_data);
|
|
|
| - void CompressLog(std::vector<uint8>* compressed_log,
|
| - uint8* input,
|
| - uint32 input_size);
|
| + void CompressLog(std::string* compressed_log,
|
| + WebRtcLogBuffer* buffer);
|
|
|
| - void ResizeForNextOutput(std::vector<uint8>* compressed_log,
|
| + void ResizeForNextOutput(std::string* compressed_log,
|
| z_stream* stream);
|
|
|
| void CreateAndStartURLFetcher(
|
| @@ -120,9 +128,14 @@ class WebRtcLogUploader : public net::URLFetcherDelegate {
|
| void DecreaseLogCount();
|
|
|
| // Must be called on the FILE thread.
|
| - void WriteCompressedLogToFile(const std::vector<uint8>& compressed_log,
|
| + void WriteCompressedLogToFile(const std::string& compressed_log,
|
| const base::FilePath& log_file_path);
|
|
|
| + void UploadCompressedLog(
|
| + const std::string& compressed_log,
|
| + scoped_ptr<MetaDataMap> meta_data,
|
| + const WebRtcLogUploadDoneData& upload_done_data);
|
| +
|
| // Append information (upload time, report ID and local ID) about a log to a
|
| // log list file, limited to |kLogListLimitLines| entries. This list is used
|
| // for viewing the logs under chrome://webrtc-logs, see WebRtcLogUploadList.
|
|
|