| 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 c0983ea3c37fe23a95fe2d695e3fa12d20a0530d..9224a58b1c98c2070bdbff7e91999dbb193d1944 100644
|
| --- a/chrome/browser/tracing/crash_service_uploader.cc
|
| +++ b/chrome/browser/tracing/crash_service_uploader.cc
|
| @@ -43,12 +43,27 @@ TraceCrashServiceUploader::TraceCrashServiceUploader(
|
| net::URLRequestContextGetter* request_context)
|
| : request_context_(request_context) {
|
| DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
| + const base::CommandLine& command_line =
|
| + *base::CommandLine::ForCurrentProcess();
|
| + std::string upload_url = kUploadURL;
|
| + if (command_line.HasSwitch(switches::kTraceUploadURL)) {
|
| + upload_url = command_line.GetSwitchValueASCII(switches::kTraceUploadURL);
|
| + }
|
| + SetUploadURL(upload_url);
|
| }
|
|
|
| TraceCrashServiceUploader::~TraceCrashServiceUploader() {
|
| DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
| }
|
|
|
| +void TraceCrashServiceUploader::SetUploadURL(const std::string& url) {
|
| + DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
| + upload_url_ = url;
|
| +
|
| + if (!GURL(upload_url_).is_valid())
|
| + upload_url_.clear();
|
| +}
|
| +
|
| void TraceCrashServiceUploader::OnURLFetchComplete(
|
| const net::URLFetcher* source) {
|
| DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
| @@ -89,12 +104,13 @@ void TraceCrashServiceUploader::DoUpload(
|
| content::BrowserThread::PostTask(
|
| content::BrowserThread::FILE, FROM_HERE,
|
| base::Bind(&TraceCrashServiceUploader::DoUploadOnFileThread,
|
| - base::Unretained(this), file_contents, progress_callback,
|
| - done_callback));
|
| + base::Unretained(this), file_contents, upload_url_,
|
| + progress_callback, done_callback));
|
| }
|
|
|
| void TraceCrashServiceUploader::DoUploadOnFileThread(
|
| const std::string& file_contents,
|
| + const std::string& upload_url,
|
| const UploadProgressCallback& progress_callback,
|
| const UploadDoneCallback& done_callback) {
|
| DCHECK_CURRENTLY_ON(content::BrowserThread::FILE);
|
| @@ -103,15 +119,6 @@ void TraceCrashServiceUploader::DoUploadOnFileThread(
|
| progress_callback_ = progress_callback;
|
| done_callback_ = done_callback;
|
|
|
| - const base::CommandLine& command_line =
|
| - *base::CommandLine::ForCurrentProcess();
|
| - std::string upload_url = kUploadURL;
|
| - if (command_line.HasSwitch(switches::kTraceUploadURL)) {
|
| - upload_url = command_line.GetSwitchValueASCII(switches::kTraceUploadURL);
|
| - }
|
| - if (!GURL(upload_url).is_valid())
|
| - upload_url.clear();
|
| -
|
| if (upload_url.empty()) {
|
| OnUploadError("Upload URL empty or invalid");
|
| return;
|
|
|