Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / components / domain_reliability / uploader.cc
index 5fd35a3..b00b550 100644 (file)
@@ -43,7 +43,8 @@ class DomainReliabilityUploaderImpl
  public:
   DomainReliabilityUploaderImpl(const scoped_refptr<
       net::URLRequestContextGetter>& url_request_context_getter)
-      : url_request_context_getter_(url_request_context_getter) {}
+      : url_request_context_getter_(url_request_context_getter),
+        discard_uploads_(true) {}
 
   virtual ~DomainReliabilityUploaderImpl() {
     // Delete any in-flight URLFetchers.
@@ -59,9 +60,15 @@ class DomainReliabilityUploaderImpl
     VLOG(1) << "Uploading report to " << upload_url;
     VLOG(2) << "Report JSON: " << report_json;
 
+    if (discard_uploads_) {
+      VLOG(1) << "Discarding report instead of uploading.";
+      callback.Run(true);
+      return;
+    }
+
     net::URLFetcher* fetcher =
         net::URLFetcher::Create(0, upload_url, net::URLFetcher::POST, this);
-    fetcher->SetRequestContext(url_request_context_getter_);
+    fetcher->SetRequestContext(url_request_context_getter_.get());
     fetcher->SetLoadFlags(net::LOAD_DO_NOT_SEND_COOKIES |
                           net::LOAD_DO_NOT_SAVE_COOKIES);
     fetcher->SetUploadData(kJsonMimeType, report_json);
@@ -74,6 +81,11 @@ class DomainReliabilityUploaderImpl
     upload_callbacks_[fetcher] = callback;
   }
 
+  virtual void set_discard_uploads(bool discard_uploads) OVERRIDE {
+    discard_uploads_ = discard_uploads;
+    VLOG(1) << "Setting discard_uploads to " << discard_uploads;
+  }
+
   // net::URLFetcherDelegate implementation:
   virtual void OnURLFetchComplete(
       const net::URLFetcher* fetcher) OVERRIDE {
@@ -100,6 +112,7 @@ class DomainReliabilityUploaderImpl
 
   scoped_refptr<net::URLRequestContextGetter> url_request_context_getter_;
   UploadCallbackMap upload_callbacks_;
+  bool discard_uploads_;
 };
 
 }  // namespace