Commit 4caad7be authored by Matt Falkenhagen's avatar Matt Falkenhagen Committed by Commit Bot

service worker: Various style cleanup in ServiceWorkerControlleeRequestHandler.

Including:
- std::move() when appropriate.
- Change diagnostic CHECKs to DCHECKs.
- |self| doesn't seem like Chromium style.
- Don't repeat base class documentation in overrides.

Bug: 866353
Change-Id: I9d7d3653cd801770251936bcae330bf1610d0fdb
Reviewed-on: https://chromium-review.googlesource.com/1159933Reviewed-by: default avatarKenichi Ishibashi <bashi@chromium.org>
Reviewed-by: default avatarMakoto Shimazu <shimazu@chromium.org>
Commit-Queue: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#580099}
parent 67893dce
...@@ -4,9 +4,8 @@ ...@@ -4,9 +4,8 @@
#include "content/browser/service_worker/service_worker_controllee_request_handler.h" #include "content/browser/service_worker/service_worker_controllee_request_handler.h"
#include <memory>
#include <set> #include <set>
#include <string> #include <utility>
#include "base/trace_event/trace_event.h" #include "base/trace_event/trace_event.h"
#include "components/offline_pages/buildflags/buildflags.h" #include "components/offline_pages/buildflags/buildflags.h"
...@@ -120,14 +119,13 @@ ServiceWorkerControlleeRequestHandler::ServiceWorkerControlleeRequestHandler( ...@@ -120,14 +119,13 @@ ServiceWorkerControlleeRequestHandler::ServiceWorkerControlleeRequestHandler(
RequestContextType request_context_type, RequestContextType request_context_type,
network::mojom::RequestContextFrameType frame_type, network::mojom::RequestContextFrameType frame_type,
scoped_refptr<network::ResourceRequestBody> body) scoped_refptr<network::ResourceRequestBody> body)
: ServiceWorkerRequestHandler(context, : ServiceWorkerRequestHandler(std::move(context),
provider_host, std::move(provider_host),
blob_storage_context, std::move(blob_storage_context),
resource_type), resource_type),
resource_type_(resource_type), resource_type_(resource_type),
is_main_resource_load_( is_main_resource_load_(
ServiceWorkerUtils::IsMainResourceType(resource_type)), ServiceWorkerUtils::IsMainResourceType(resource_type)),
is_main_frame_load_(resource_type == RESOURCE_TYPE_MAIN_FRAME),
request_mode_(request_mode), request_mode_(request_mode),
credentials_mode_(credentials_mode), credentials_mode_(credentials_mode),
redirect_mode_(redirect_mode), redirect_mode_(redirect_mode),
...@@ -135,7 +133,7 @@ ServiceWorkerControlleeRequestHandler::ServiceWorkerControlleeRequestHandler( ...@@ -135,7 +133,7 @@ ServiceWorkerControlleeRequestHandler::ServiceWorkerControlleeRequestHandler(
keepalive_(keepalive), keepalive_(keepalive),
request_context_type_(request_context_type), request_context_type_(request_context_type),
frame_type_(frame_type), frame_type_(frame_type),
body_(body), body_(std::move(body)),
force_update_started_(false), force_update_started_(false),
use_network_(false), use_network_(false),
weak_factory_(this) {} weak_factory_(this) {}
...@@ -212,12 +210,11 @@ net::URLRequestJob* ServiceWorkerControlleeRequestHandler::MaybeCreateJob( ...@@ -212,12 +210,11 @@ net::URLRequestJob* ServiceWorkerControlleeRequestHandler::MaybeCreateJob(
#endif // BUILDFLAG(ENABLE_OFFLINE_PAGES) #endif // BUILDFLAG(ENABLE_OFFLINE_PAGES)
// It's for original request (A) or redirect case (B-a or B-b). // It's for original request (A) or redirect case (B-a or B-b).
std::unique_ptr<ServiceWorkerURLRequestJob> job( auto job = std::make_unique<ServiceWorkerURLRequestJob>(
new ServiceWorkerURLRequestJob( request, network_delegate, provider_host_->client_uuid(),
request, network_delegate, provider_host_->client_uuid(), blob_storage_context_, resource_context, request_mode_, credentials_mode_,
blob_storage_context_, resource_context, request_mode_, redirect_mode_, integrity_, keepalive_, resource_type_,
credentials_mode_, redirect_mode_, integrity_, keepalive_, request_context_type_, frame_type_, body_, this);
resource_type_, request_context_type_, frame_type_, body_, this));
url_job_ = std::make_unique<ServiceWorkerURLJobWrapper>(job->GetWeakPtr()); url_job_ = std::make_unique<ServiceWorkerURLJobWrapper>(job->GetWeakPtr());
resource_context_ = resource_context; resource_context_ = resource_context;
...@@ -354,7 +351,8 @@ void ServiceWorkerControlleeRequestHandler::PrepareForMainResource( ...@@ -354,7 +351,8 @@ void ServiceWorkerControlleeRequestHandler::PrepareForMainResource(
provider_host_->SetDocumentUrl(stripped_url_); provider_host_->SetDocumentUrl(stripped_url_);
provider_host_->SetTopmostFrameUrl(site_for_cookies); provider_host_->SetTopmostFrameUrl(site_for_cookies);
context_->storage()->FindRegistrationForDocument( context_->storage()->FindRegistrationForDocument(
stripped_url_, base::BindOnce(&self::DidLookupRegistrationForMainResource, stripped_url_, base::BindOnce(&ServiceWorkerControlleeRequestHandler::
DidLookupRegistrationForMainResource,
weak_factory_.GetWeakPtr(), weak_factory_.GetWeakPtr(),
std::move(disallow_controller))); std::move(disallow_controller)));
} }
...@@ -377,7 +375,7 @@ void ServiceWorkerControlleeRequestHandler:: ...@@ -377,7 +375,7 @@ void ServiceWorkerControlleeRequestHandler::
url_job_.get(), "Status", blink::ServiceWorkerStatusToString(status)); url_job_.get(), "Status", blink::ServiceWorkerStatusToString(status));
return; return;
} }
DCHECK(registration.get()); DCHECK(registration);
if (!provider_host_) { if (!provider_host_) {
url_job_->FallbackToNetwork(); url_job_->FallbackToNetwork();
...@@ -420,15 +418,17 @@ void ServiceWorkerControlleeRequestHandler:: ...@@ -420,15 +418,17 @@ void ServiceWorkerControlleeRequestHandler::
return; return;
} }
const bool need_to_update = !force_update_started_ && registration && const bool need_to_update =
context_->force_update_on_page_load(); !force_update_started_ && context_->force_update_on_page_load();
if (need_to_update) { if (need_to_update) {
force_update_started_ = true; force_update_started_ = true;
context_->UpdateServiceWorker( context_->UpdateServiceWorker(
registration.get(), true /* force_bypass_cache */, registration.get(), true /* force_bypass_cache */,
true /* skip_script_comparison */, true /* skip_script_comparison */,
base::BindOnce(&self::DidUpdateRegistration, weak_factory_.GetWeakPtr(), base::BindOnce(
registration, std::move(disallow_controller))); &ServiceWorkerControlleeRequestHandler::DidUpdateRegistration,
weak_factory_.GetWeakPtr(), registration,
std::move(disallow_controller)));
return; return;
} }
...@@ -450,10 +450,9 @@ void ServiceWorkerControlleeRequestHandler:: ...@@ -450,10 +450,9 @@ void ServiceWorkerControlleeRequestHandler::
return; return;
} }
// TODO(falken): Change these to DCHECK if it holds. DCHECK(active_version->status() == ServiceWorkerVersion::ACTIVATING ||
CHECK(active_version->status() == ServiceWorkerVersion::ACTIVATING || active_version->status() == ServiceWorkerVersion::ACTIVATED)
active_version->status() == ServiceWorkerVersion::ACTIVATED); << ServiceWorkerVersion::VersionStatusToString(active_version->status());
// Wait until it's activated before firing fetch events. // Wait until it's activated before firing fetch events.
if (active_version->status() == ServiceWorkerVersion::ACTIVATING) { if (active_version->status() == ServiceWorkerVersion::ACTIVATING) {
registration->active_version()->RegisterStatusChangeCallback( registration->active_version()->RegisterStatusChangeCallback(
...@@ -534,15 +533,13 @@ void ServiceWorkerControlleeRequestHandler:: ...@@ -534,15 +533,13 @@ void ServiceWorkerControlleeRequestHandler::
provider_host_->SetControllerRegistration( provider_host_->SetControllerRegistration(
registration, false /* notify_controllerchange */); registration, false /* notify_controllerchange */);
// TODO(falken): Change these to DCHECK if it holds, or else figure out DCHECK_EQ(active_version, registration->active_version());
// how this happens. DCHECK_EQ(active_version, provider_host_->controller());
CHECK_EQ(active_version, registration->active_version());
CHECK_EQ(active_version, provider_host_->controller());
DCHECK_NE(active_version->fetch_handler_existence(), DCHECK_NE(active_version->fetch_handler_existence(),
ServiceWorkerVersion::FetchHandlerExistence::UNKNOWN); ServiceWorkerVersion::FetchHandlerExistence::UNKNOWN);
ServiceWorkerMetrics::CountControlledPageLoad( ServiceWorkerMetrics::CountControlledPageLoad(
active_version->site_for_uma(), stripped_url_, is_main_frame_load_); active_version->site_for_uma(), stripped_url_,
resource_type_ == RESOURCE_TYPE_MAIN_FRAME);
if (blink::ServiceWorkerUtils::IsServicificationEnabled() && if (blink::ServiceWorkerUtils::IsServicificationEnabled() &&
IsResourceTypeFrame(resource_type_)) { IsResourceTypeFrame(resource_type_)) {
...@@ -559,7 +556,7 @@ void ServiceWorkerControlleeRequestHandler:: ...@@ -559,7 +556,7 @@ void ServiceWorkerControlleeRequestHandler::
} }
void ServiceWorkerControlleeRequestHandler::DidUpdateRegistration( void ServiceWorkerControlleeRequestHandler::DidUpdateRegistration(
const scoped_refptr<ServiceWorkerRegistration>& original_registration, scoped_refptr<ServiceWorkerRegistration> original_registration,
std::unique_ptr<ScopedDisallowSetControllerRegistration> std::unique_ptr<ScopedDisallowSetControllerRegistration>
disallow_controller, disallow_controller,
blink::ServiceWorkerStatusCode status, blink::ServiceWorkerStatusCode status,
...@@ -580,25 +577,26 @@ void ServiceWorkerControlleeRequestHandler::DidUpdateRegistration( ...@@ -580,25 +577,26 @@ void ServiceWorkerControlleeRequestHandler::DidUpdateRegistration(
// Update failed. Look up the registration again since the original // Update failed. Look up the registration again since the original
// registration was possibly unregistered in the meantime. // registration was possibly unregistered in the meantime.
context_->storage()->FindRegistrationForDocument( context_->storage()->FindRegistrationForDocument(
stripped_url_, stripped_url_, base::BindOnce(&ServiceWorkerControlleeRequestHandler::
base::BindOnce(&self::DidLookupRegistrationForMainResource, DidLookupRegistrationForMainResource,
weak_factory_.GetWeakPtr(), weak_factory_.GetWeakPtr(),
std::move(disallow_controller))); std::move(disallow_controller)));
return; return;
} }
DCHECK_EQ(original_registration->id(), registration_id); DCHECK_EQ(original_registration->id(), registration_id);
scoped_refptr<ServiceWorkerVersion> new_version = ServiceWorkerVersion* new_version =
original_registration->installing_version(); original_registration->installing_version();
new_version->ReportForceUpdateToDevTools(); new_version->ReportForceUpdateToDevTools();
new_version->set_skip_waiting(true); new_version->set_skip_waiting(true);
new_version->RegisterStatusChangeCallback(base::BindOnce( new_version->RegisterStatusChangeCallback(base::BindOnce(
&self::OnUpdatedVersionStatusChanged, weak_factory_.GetWeakPtr(), &ServiceWorkerControlleeRequestHandler::OnUpdatedVersionStatusChanged,
original_registration, new_version, std::move(disallow_controller))); weak_factory_.GetWeakPtr(), std::move(original_registration),
base::WrapRefCounted(new_version), std::move(disallow_controller)));
} }
void ServiceWorkerControlleeRequestHandler::OnUpdatedVersionStatusChanged( void ServiceWorkerControlleeRequestHandler::OnUpdatedVersionStatusChanged(
const scoped_refptr<ServiceWorkerRegistration>& registration, scoped_refptr<ServiceWorkerRegistration> registration,
const scoped_refptr<ServiceWorkerVersion>& version, scoped_refptr<ServiceWorkerVersion> version,
std::unique_ptr<ScopedDisallowSetControllerRegistration> std::unique_ptr<ScopedDisallowSetControllerRegistration>
disallow_controller) { disallow_controller) {
// The job may have been canceled before this was invoked. // The job may have been canceled before this was invoked.
...@@ -615,15 +613,16 @@ void ServiceWorkerControlleeRequestHandler::OnUpdatedVersionStatusChanged( ...@@ -615,15 +613,16 @@ void ServiceWorkerControlleeRequestHandler::OnUpdatedVersionStatusChanged(
// continue with the incumbent version. // continue with the incumbent version.
// In case unregister job may have run, look up the registration again. // In case unregister job may have run, look up the registration again.
context_->storage()->FindRegistrationForDocument( context_->storage()->FindRegistrationForDocument(
stripped_url_, stripped_url_, base::BindOnce(&ServiceWorkerControlleeRequestHandler::
base::BindOnce(&self::DidLookupRegistrationForMainResource, DidLookupRegistrationForMainResource,
weak_factory_.GetWeakPtr(), weak_factory_.GetWeakPtr(),
std::move(disallow_controller))); std::move(disallow_controller)));
return; return;
} }
version->RegisterStatusChangeCallback(base::BindOnce( version->RegisterStatusChangeCallback(base::BindOnce(
&self::OnUpdatedVersionStatusChanged, weak_factory_.GetWeakPtr(), &ServiceWorkerControlleeRequestHandler::OnUpdatedVersionStatusChanged,
registration, version, std::move(disallow_controller))); weak_factory_.GetWeakPtr(), std::move(registration), version,
std::move(disallow_controller)));
} }
void ServiceWorkerControlleeRequestHandler::PrepareForSubResource() { void ServiceWorkerControlleeRequestHandler::PrepareForSubResource() {
......
...@@ -6,6 +6,8 @@ ...@@ -6,6 +6,8 @@
#define CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_CONTROLLEE_REQUEST_HANDLER_H_ #define CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_CONTROLLEE_REQUEST_HANDLER_H_
#include <stdint.h> #include <stdint.h>
#include <memory>
#include <string>
#include "base/gtest_prod_util.h" #include "base/gtest_prod_util.h"
#include "base/macros.h" #include "base/macros.h"
...@@ -37,8 +39,9 @@ namespace content { ...@@ -37,8 +39,9 @@ namespace content {
class ServiceWorkerRegistration; class ServiceWorkerRegistration;
class ServiceWorkerVersion; class ServiceWorkerVersion;
// A request handler derivative used to handle requests from // A request handler derivative used to handle requests for,
// controlled documents. // and requests from, controlled documents and shared workers.
//
// Note that in IsServicificationEnabled cases this is used only for // Note that in IsServicificationEnabled cases this is used only for
// main resource fetch during navigation or shared worker creation. // main resource fetch during navigation or shared worker creation.
class CONTENT_EXPORT ServiceWorkerControlleeRequestHandler class CONTENT_EXPORT ServiceWorkerControlleeRequestHandler
...@@ -92,8 +95,6 @@ class CONTENT_EXPORT ServiceWorkerControlleeRequestHandler ...@@ -92,8 +95,6 @@ class CONTENT_EXPORT ServiceWorkerControlleeRequestHandler
private: private:
FRIEND_TEST_ALL_PREFIXES(ServiceWorkerControlleeRequestHandlerTest, FRIEND_TEST_ALL_PREFIXES(ServiceWorkerControlleeRequestHandlerTest,
ActivateWaitingVersion); ActivateWaitingVersion);
typedef ServiceWorkerControlleeRequestHandler self;
class ScopedDisallowSetControllerRegistration; class ScopedDisallowSetControllerRegistration;
// For main resource case. // For main resource case.
...@@ -109,16 +110,17 @@ class CONTENT_EXPORT ServiceWorkerControlleeRequestHandler ...@@ -109,16 +110,17 @@ class CONTENT_EXPORT ServiceWorkerControlleeRequestHandler
std::unique_ptr<ScopedDisallowSetControllerRegistration> std::unique_ptr<ScopedDisallowSetControllerRegistration>
disallow_controller); disallow_controller);
// For forced update.
void DidUpdateRegistration( void DidUpdateRegistration(
const scoped_refptr<ServiceWorkerRegistration>& original_registration, scoped_refptr<ServiceWorkerRegistration> original_registration,
std::unique_ptr<ScopedDisallowSetControllerRegistration> std::unique_ptr<ScopedDisallowSetControllerRegistration>
disallow_controller, disallow_controller,
blink::ServiceWorkerStatusCode status, blink::ServiceWorkerStatusCode status,
const std::string& status_message, const std::string& status_message,
int64_t registration_id); int64_t registration_id);
void OnUpdatedVersionStatusChanged( void OnUpdatedVersionStatusChanged(
const scoped_refptr<ServiceWorkerRegistration>& registration, scoped_refptr<ServiceWorkerRegistration> registration,
const scoped_refptr<ServiceWorkerVersion>& version, scoped_refptr<ServiceWorkerVersion> version,
std::unique_ptr<ScopedDisallowSetControllerRegistration> std::unique_ptr<ScopedDisallowSetControllerRegistration>
disallow_controller); disallow_controller);
...@@ -126,11 +128,7 @@ class CONTENT_EXPORT ServiceWorkerControlleeRequestHandler ...@@ -126,11 +128,7 @@ class CONTENT_EXPORT ServiceWorkerControlleeRequestHandler
void PrepareForSubResource(); void PrepareForSubResource();
// ServiceWorkerURLJobWrapper::Delegate implementation: // ServiceWorkerURLJobWrapper::Delegate implementation:
// Called just before the request is restarted. Makes sure the next request
// goes over the network.
void OnPrepareToRestart() override; void OnPrepareToRestart() override;
ServiceWorkerVersion* GetServiceWorkerVersion( ServiceWorkerVersion* GetServiceWorkerVersion(
ServiceWorkerMetrics::URLRequestJobResult* result) override; ServiceWorkerMetrics::URLRequestJobResult* result) override;
bool RequestStillValid( bool RequestStillValid(
...@@ -149,7 +147,6 @@ class CONTENT_EXPORT ServiceWorkerControlleeRequestHandler ...@@ -149,7 +147,6 @@ class CONTENT_EXPORT ServiceWorkerControlleeRequestHandler
const ResourceType resource_type_; const ResourceType resource_type_;
const bool is_main_resource_load_; const bool is_main_resource_load_;
const bool is_main_frame_load_;
std::unique_ptr<ServiceWorkerURLJobWrapper> url_job_; std::unique_ptr<ServiceWorkerURLJobWrapper> url_job_;
network::mojom::FetchRequestMode request_mode_; network::mojom::FetchRequestMode request_mode_;
network::mojom::FetchCredentialsMode credentials_mode_; network::mojom::FetchCredentialsMode credentials_mode_;
......
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