Commit 7c23ba43 authored by Kenichi Ishibashi's avatar Kenichi Ishibashi Committed by Commit Bot

service worker: Update ServiceWorkerControlleeRequestHandlerTest

Update tests for ServiceWorkerControlleeRequestHandler to have
better coverage with S13nServiceWorker enabled/disabled.

Bug: 860361
Change-Id: Ie4b915fd2aea96afc9880c759d4bcdb82d320892
Reviewed-on: https://chromium-review.googlesource.com/1151070
Commit-Queue: Kenichi Ishibashi <bashi@chromium.org>
Reviewed-by: default avatarMatt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#578977}
parent 92590411
......@@ -86,6 +86,9 @@ class CONTENT_EXPORT ServiceWorkerControlleeRequestHandler
base::Optional<SubresourceLoaderParams> MaybeCreateSubresourceLoaderParams()
override;
// Exposed for testing.
ServiceWorkerURLJobWrapper* url_job() const { return url_job_.get(); }
private:
FRIEND_TEST_ALL_PREFIXES(ServiceWorkerControlleeRequestHandlerTest,
ActivateWaitingVersion);
......
......@@ -141,6 +141,10 @@ bool ServiceWorkerNavigationLoader::ShouldFallbackToNetwork() {
return response_type_ == ResponseType::FALLBACK_TO_NETWORK;
}
bool ServiceWorkerNavigationLoader::ShouldForwardToServiceWorker() {
return response_type_ == ResponseType::FORWARD_TO_SERVICE_WORKER;
}
bool ServiceWorkerNavigationLoader::WasCanceled() const {
return status_ == Status::kCancelled;
}
......
......@@ -87,6 +87,7 @@ class CONTENT_EXPORT ServiceWorkerNavigationLoader
void FallbackToNetwork();
void ForwardToServiceWorker();
bool ShouldFallbackToNetwork();
bool ShouldForwardToServiceWorker();
bool WasCanceled() const;
// The navigation request that was holding this job is
......
......@@ -64,6 +64,14 @@ bool ServiceWorkerURLJobWrapper::ShouldFallbackToNetwork() {
}
}
bool ServiceWorkerURLJobWrapper::ShouldForwardToServiceWorker() {
if (url_loader_job_) {
return url_loader_job_->ShouldForwardToServiceWorker();
} else {
return url_request_job_->ShouldForwardToServiceWorker();
}
}
void ServiceWorkerURLJobWrapper::FailDueToLostController() {
// This function is only called for subresource requests, so it can't
// be called for |url_loader_job_|, which is for navigations.
......
......@@ -22,7 +22,7 @@ class ServiceWorkerVersion;
// non-S13nServiceWorker). It wraps either a
// ServiceWorkerURLRequestJob or a callback for URLLoader and forwards to the
// underlying implementation.
class ServiceWorkerURLJobWrapper {
class CONTENT_EXPORT ServiceWorkerURLJobWrapper {
public:
// A helper used by the ServiceWorkerNavigationLoader or
// ServiceWorkerURLRequestJob.
......@@ -72,6 +72,9 @@ class ServiceWorkerURLJobWrapper {
// instead should fallback to the network.
bool ShouldFallbackToNetwork();
// Returns true if this job should be forwarded to a service worker.
bool ShouldForwardToServiceWorker();
// 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.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment