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

Unified Diff: content/browser/net/url_request_slow_download_job.h

Issue 7294013: Modified cancel and interrupt processing to avoid race with history. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed various problems surfaced by trybots. Created 9 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
Index: content/browser/net/url_request_slow_download_job.h
diff --git a/content/browser/net/url_request_slow_download_job.h b/content/browser/net/url_request_slow_download_job.h
index cef2adcadff9322a986138da57974994178b6737..d05ece806f09a1e2be3b8f54e8054b5c92ca6db1 100644
--- a/content/browser/net/url_request_slow_download_job.h
+++ b/content/browser/net/url_request_slow_download_job.h
@@ -3,7 +3,11 @@
// found in the LICENSE file.
// This class simulates a slow download. This used in a UI test to test the
// download manager. Requests to |kUnknownSizeUrl| and |kKnownSizeUrl| start
-// downloads that pause after the first
+// downloads that pause after the first chunk of data is delivered.
+// A later request to |kFinishDownloadUrl| will finish these downloads.
+// A later request to |kErrorFinishDownloadUrl| will cause these
+// downloads to error with |net::ERR_FAILED|.
+// TODO(rdsmith): Update to allow control of returned error.
#ifndef CONTENT_BROWSER_NET_URL_REQUEST_SLOW_DOWNLOAD_JOB_H_
#define CONTENT_BROWSER_NET_URL_REQUEST_SLOW_DOWNLOAD_JOB_H_
@@ -36,6 +40,7 @@ class URLRequestSlowDownloadJob : public net::URLRequestJob {
static const char kUnknownSizeUrl[];
static const char kKnownSizeUrl[];
static const char kFinishDownloadUrl[];
+ static const char kErrorFinishDownloadUrl[];
// Adds the testing URLs to the net::URLRequestFilter.
static void AddUrlHandler();
@@ -47,16 +52,18 @@ class URLRequestSlowDownloadJob : public net::URLRequestJob {
// Mark all pending requests to be finished. We keep track of pending
// requests in |kPendingRequests|.
- static void FinishPendingRequests();
+ static void FinishPendingRequests(bool error);
static std::vector<URLRequestSlowDownloadJob*> kPendingRequests;
void StartAsync();
void set_should_finish_download() { should_finish_download_ = true; }
+ void set_should_error_download() { should_error_download_ = true; }
int first_download_size_remaining_;
bool should_finish_download_;
bool should_send_second_chunk_;
+ bool should_error_download_;
ScopedRunnableMethodFactory<URLRequestSlowDownloadJob> method_factory_;
};

Powered by Google App Engine
This is Rietveld 408576698