Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6183)

Unified Diff: chrome/browser/tracing/crash_service_uploader.cc

Issue 1225923003: Make compression optional in TraceUploader. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added comment for clarification. Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/tracing/crash_service_uploader.h ('k') | chrome/browser/tracing/navigation_tracing.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/tracing/crash_service_uploader.cc
diff --git a/chrome/browser/tracing/crash_service_uploader.cc b/chrome/browser/tracing/crash_service_uploader.cc
index a8ba22101ccd3435916b3d89ea95cd95ea18b7ce..3a41dbb62498235380a662c26b43617c97974e02 100644
--- a/chrome/browser/tracing/crash_service_uploader.cc
+++ b/chrome/browser/tracing/crash_service_uploader.cc
@@ -102,6 +102,7 @@ void TraceCrashServiceUploader::OnURLFetchUploadProgress(
void TraceCrashServiceUploader::DoUpload(
const std::string& file_contents,
+ UploadMode upload_mode,
scoped_ptr<base::DictionaryValue> metadata,
const UploadProgressCallback& progress_callback,
const UploadDoneCallback& done_callback) {
@@ -109,13 +110,14 @@ void TraceCrashServiceUploader::DoUpload(
content::BrowserThread::PostTask(
content::BrowserThread::FILE, FROM_HERE,
base::Bind(&TraceCrashServiceUploader::DoUploadOnFileThread,
- base::Unretained(this), file_contents, upload_url_,
- base::Passed(metadata.Pass()), progress_callback,
+ base::Unretained(this), file_contents, upload_mode,
+ upload_url_, base::Passed(metadata.Pass()), progress_callback,
done_callback));
}
void TraceCrashServiceUploader::DoUploadOnFileThread(
const std::string& file_contents,
+ UploadMode upload_mode,
const std::string& upload_url,
scoped_ptr<base::DictionaryValue> metadata,
const UploadProgressCallback& progress_callback,
@@ -164,18 +166,28 @@ void TraceCrashServiceUploader::DoUploadOnFileThread(
return;
}
- scoped_ptr<char[]> compressed_contents(new char[kMaxUploadBytes]);
- int compressed_bytes;
- if (!Compress(file_contents, kMaxUploadBytes, compressed_contents.get(),
- &compressed_bytes)) {
- OnUploadError("Compressing file failed.");
- return;
+ std::string compressed_contents;
+ if (upload_mode == COMPRESSED_UPLOAD) {
+ scoped_ptr<char[]> compressed_buffer(new char[kMaxUploadBytes]);
+ int compressed_bytes;
+ if (!Compress(file_contents, kMaxUploadBytes, compressed_buffer.get(),
+ &compressed_bytes)) {
+ OnUploadError("Compressing file failed.");
+ return;
+ }
+ compressed_contents =
+ std::string(compressed_buffer.get(), compressed_bytes);
+ } else {
+ if (file_contents.size() >= kMaxUploadBytes) {
+ OnUploadError("File is too large to upload.");
+ return;
+ }
+ compressed_contents = file_contents;
}
std::string post_data;
SetupMultipart(product, version, metadata.Pass(), "trace.json.gz",
- std::string(compressed_contents.get(), compressed_bytes),
- &post_data);
+ compressed_contents, &post_data);
content::BrowserThread::PostTask(
content::BrowserThread::UI, FROM_HERE,
« no previous file with comments | « chrome/browser/tracing/crash_service_uploader.h ('k') | chrome/browser/tracing/navigation_tracing.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698