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

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

Issue 911153002: Moved the TraceUploader to chrome/ and abstracted it for alternative new upload destinations. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 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
Index: chrome/browser/tracing/crash_service_uploader.h
diff --git a/content/browser/tracing/trace_uploader.h b/chrome/browser/tracing/crash_service_uploader.h
similarity index 61%
rename from content/browser/tracing/trace_uploader.h
rename to chrome/browser/tracing/crash_service_uploader.h
index 323a4c54668b12f6f6fabbb7f98c6919fa09a259..e4441a71bf496bd81c68e9cd623bfc32e32dc481 100644
--- a/content/browser/tracing/trace_uploader.h
+++ b/chrome/browser/tracing/crash_service_uploader.h
@@ -2,20 +2,20 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CONTENT_BROWSER_TRACING_TRACE_UPLOADER_H_
-#define CONTENT_BROWSER_TRACING_TRACE_UPLOADER_H_
+#ifndef CHROME_BROWSER_TRACING_CRASH_SERVICE_UPLOADER_H_
+#define CHROME_BROWSER_TRACING_CRASH_SERVICE_UPLOADER_H_
#include <map>
#include <string>
#include <vector>
#include "base/basictypes.h"
-#include "base/callback.h"
#include "base/gtest_prod_util.h"
#include "base/memory/ref_counted.h"
#include "base/memory/scoped_ptr.h"
#include "base/memory/weak_ptr.h"
#include "base/threading/thread_checker.h"
+#include "content/public/browser/trace_uploader.h"
#include "net/url_request/url_fetcher_delegate.h"
namespace net {
@@ -23,8 +23,6 @@ class URLFetcher;
class URLRequestContextGetter;
} // namespace net
-namespace content {
-
namespace {
// Allow up to 10MB for trace upload
@@ -32,18 +30,13 @@ const int kMaxUploadBytes = 10000000;
} // namespace
-// TraceUploader uploads traces.
-class TraceUploader : public net::URLFetcherDelegate {
+// TraceCrashServiceUploader uploads traces to the Chrome crash service.
+class TraceCrashServiceUploader : public content::TraceUploader,
+ public net::URLFetcherDelegate {
public:
- typedef base::Callback<void(bool, const std::string&, const std::string&)>
- UploadDoneCallback;
- typedef base::Callback<void(int64, int64)> UploadProgressCallback;
-
- TraceUploader(const std::string& product,
- const std::string& version,
- const std::string& upload_url,
- net::URLRequestContextGetter* request_context);
- ~TraceUploader() override;
+ explicit TraceCrashServiceUploader(
+ net::URLRequestContextGetter* request_context);
+ ~TraceCrashServiceUploader() override;
// net::URLFetcherDelegate implementation.
void OnURLFetchComplete(const net::URLFetcher* source) override;
@@ -51,15 +44,20 @@ class TraceUploader : public net::URLFetcherDelegate {
int64 current,
int64 total) override;
- // Compresses and uploads the given file contents.
+ // content::TraceUploader
void DoUpload(const std::string& file_contents,
UploadProgressCallback progress_callback,
Lei Zhang 2015/02/10 22:28:16 General feedback, feel free to address this in a s
oystein (OOO til 10th of July) 2015/02/10 23:40:15 Done.
- UploadDoneCallback done_callback);
+ UploadDoneCallback done_callback) override;
private:
+ void DoUploadOnFileThread(const std::string& file_contents,
+ UploadProgressCallback progress_callback,
+ UploadDoneCallback done_callback);
// Sets up a multipart body to be uploaded. The body is produced according
// to RFC 2046.
- void SetupMultipart(const std::string& trace_filename,
+ void SetupMultipart(const std::string& product,
+ const std::string& version,
+ const std::string& trace_filename,
const std::string& trace_contents,
std::string* post_data);
void AddTraceFile(const std::string& trace_filename,
@@ -70,23 +68,17 @@ class TraceUploader : public net::URLFetcherDelegate {
int max_compressed_bytes,
char* compressed_contents,
int* compressed_bytes);
- void CreateAndStartURLFetcher(const std::string& post_data);
+ void CreateAndStartURLFetcher(const std::string& upload_url,
+ const std::string& post_data);
void OnUploadError(std::string error_message);
- std::string product_;
- std::string version_;
-
- std::string upload_url_;
-
scoped_ptr<net::URLFetcher> url_fetcher_;
UploadProgressCallback progress_callback_;
UploadDoneCallback done_callback_;
net::URLRequestContextGetter* request_context_;
- DISALLOW_COPY_AND_ASSIGN(TraceUploader);
+ DISALLOW_COPY_AND_ASSIGN(TraceCrashServiceUploader);
};
-} // namespace content
-
-#endif // CONTENT_BROWSER_TRACING_TRACE_UPLOADER_H_
+#endif // CHROME_BROWSER_TRACING_CRASH_SERVICE_UPLOADER_H_

Powered by Google App Engine
This is Rietveld 408576698