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

Unified Diff: content/browser/service_worker/service_worker_url_request_job.h

Issue 2604763002: Fix crash when forwarding a request to a null service worker. (Closed)
Patch Set: fix Created 4 years 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/service_worker/service_worker_url_request_job.h
diff --git a/content/browser/service_worker/service_worker_url_request_job.h b/content/browser/service_worker/service_worker_url_request_job.h
index 5eb8f00215378d7436dc2387e1ca71c55cb86bce..89703fe73f000b16b1c693f0cada098348339862 100644
--- a/content/browser/service_worker/service_worker_url_request_job.h
+++ b/content/browser/service_worker/service_worker_url_request_job.h
@@ -114,6 +114,10 @@ class CONTENT_EXPORT ServiceWorkerURLRequestJob : public net::URLRequestJob {
void FallbackToNetwork();
void FallbackToNetworkOrRenderer();
void ForwardToServiceWorker();
+ // Tells the job to abort with a start error. Currently this is only called
+ // because the controller was lost. This function could be made more generic
+ // if needed later.
+ void FailDueToLostController();
bool ShouldFallbackToNetwork() const {
return response_type_ == FALLBACK_TO_NETWORK;
@@ -145,12 +149,15 @@ class CONTENT_EXPORT ServiceWorkerURLRequestJob : public net::URLRequestJob {
private:
class FileSizeResolver;
+ FRIEND_TEST_ALL_PREFIXES(ServiceWorkerControlleeRequestHandlerTestP,
+ LostActiveVersion);
enum ResponseType {
NOT_DETERMINED,
+ FAIL_DUE_TO_LOST_CONTROLLER,
FALLBACK_TO_NETWORK,
FALLBACK_TO_RENDERER, // Use this when falling back with CORS check
- FORWARD_TO_SERVICE_WORKER,
+ FORWARD_TO_SERVICE_WORKER
};
enum ResponseBodyType {

Powered by Google App Engine
This is Rietveld 408576698