| Index: content/child/service_worker/service_worker_dispatcher.cc
|
| diff --git a/content/child/service_worker/service_worker_dispatcher.cc b/content/child/service_worker/service_worker_dispatcher.cc
|
| index 4e18acab56905da319d2e70acf02de5f1772c540..c1934f515c181edec240f2fc7081ef25eac5cdae 100644
|
| --- a/content/child/service_worker/service_worker_dispatcher.cc
|
| +++ b/content/child/service_worker/service_worker_dispatcher.cc
|
| @@ -121,13 +121,11 @@ void ServiceWorkerDispatcher::RegisterServiceWorker(
|
| int provider_id,
|
| const GURL& pattern,
|
| const GURL& script_url,
|
| - WebServiceWorkerRegistrationCallbacks* callbacks) {
|
| + std::unique_ptr<WebServiceWorkerRegistrationCallbacks> callbacks) {
|
| DCHECK(callbacks);
|
|
|
| if (pattern.possibly_invalid_spec().size() > url::kMaxURLChars ||
|
| script_url.possibly_invalid_spec().size() > url::kMaxURLChars) {
|
| - std::unique_ptr<WebServiceWorkerRegistrationCallbacks> owned_callbacks(
|
| - callbacks);
|
| std::string error_message(kServiceWorkerRegisterErrorPrefix);
|
| error_message += "The provided scriptURL or scope is too long.";
|
| callbacks->onError(
|
| @@ -136,7 +134,7 @@ void ServiceWorkerDispatcher::RegisterServiceWorker(
|
| return;
|
| }
|
|
|
| - int request_id = pending_registration_callbacks_.Add(callbacks);
|
| + int request_id = pending_registration_callbacks_.Add(std::move(callbacks));
|
| TRACE_EVENT_ASYNC_BEGIN2("ServiceWorker",
|
| "ServiceWorkerDispatcher::RegisterServiceWorker",
|
| request_id,
|
| @@ -149,9 +147,9 @@ void ServiceWorkerDispatcher::RegisterServiceWorker(
|
| void ServiceWorkerDispatcher::UpdateServiceWorker(
|
| int provider_id,
|
| int64_t registration_id,
|
| - WebServiceWorkerUpdateCallbacks* callbacks) {
|
| + std::unique_ptr<WebServiceWorkerUpdateCallbacks> callbacks) {
|
| DCHECK(callbacks);
|
| - int request_id = pending_update_callbacks_.Add(callbacks);
|
| + int request_id = pending_update_callbacks_.Add(std::move(callbacks));
|
| thread_safe_sender_->Send(new ServiceWorkerHostMsg_UpdateServiceWorker(
|
| CurrentWorkerId(), request_id, provider_id, registration_id));
|
| }
|
| @@ -159,9 +157,9 @@ void ServiceWorkerDispatcher::UpdateServiceWorker(
|
| void ServiceWorkerDispatcher::UnregisterServiceWorker(
|
| int provider_id,
|
| int64_t registration_id,
|
| - WebServiceWorkerUnregistrationCallbacks* callbacks) {
|
| + std::unique_ptr<WebServiceWorkerUnregistrationCallbacks> callbacks) {
|
| DCHECK(callbacks);
|
| - int request_id = pending_unregistration_callbacks_.Add(callbacks);
|
| + int request_id = pending_unregistration_callbacks_.Add(std::move(callbacks));
|
| TRACE_EVENT_ASYNC_BEGIN1("ServiceWorker",
|
| "ServiceWorkerDispatcher::UnregisterServiceWorker",
|
| request_id, "Registration ID", registration_id);
|
| @@ -172,12 +170,10 @@ void ServiceWorkerDispatcher::UnregisterServiceWorker(
|
| void ServiceWorkerDispatcher::GetRegistration(
|
| int provider_id,
|
| const GURL& document_url,
|
| - WebServiceWorkerGetRegistrationCallbacks* callbacks) {
|
| + std::unique_ptr<WebServiceWorkerGetRegistrationCallbacks> callbacks) {
|
| DCHECK(callbacks);
|
|
|
| if (document_url.possibly_invalid_spec().size() > url::kMaxURLChars) {
|
| - std::unique_ptr<WebServiceWorkerGetRegistrationCallbacks> owned_callbacks(
|
| - callbacks);
|
| std::string error_message(kServiceWorkerGetRegistrationErrorPrefix);
|
| error_message += "The provided documentURL is too long.";
|
| callbacks->onError(
|
| @@ -186,7 +182,8 @@ void ServiceWorkerDispatcher::GetRegistration(
|
| return;
|
| }
|
|
|
| - int request_id = pending_get_registration_callbacks_.Add(callbacks);
|
| + int request_id =
|
| + pending_get_registration_callbacks_.Add(std::move(callbacks));
|
| TRACE_EVENT_ASYNC_BEGIN1("ServiceWorker",
|
| "ServiceWorkerDispatcher::GetRegistration",
|
| request_id,
|
| @@ -197,10 +194,12 @@ void ServiceWorkerDispatcher::GetRegistration(
|
|
|
| void ServiceWorkerDispatcher::GetRegistrations(
|
| int provider_id,
|
| - WebServiceWorkerGetRegistrationsCallbacks* callbacks) {
|
| + std::unique_ptr<WebServiceWorkerGetRegistrationsCallbacks> callbacks) {
|
| DCHECK(callbacks);
|
|
|
| - int request_id = pending_get_registrations_callbacks_.Add(callbacks);
|
| + int request_id =
|
| + pending_get_registrations_callbacks_.Add(std::move(callbacks));
|
| +
|
| TRACE_EVENT_ASYNC_BEGIN0("ServiceWorker",
|
| "ServiceWorkerDispatcher::GetRegistrations",
|
| request_id);
|
| @@ -210,8 +209,9 @@ void ServiceWorkerDispatcher::GetRegistrations(
|
|
|
| void ServiceWorkerDispatcher::GetRegistrationForReady(
|
| int provider_id,
|
| - WebServiceWorkerGetRegistrationForReadyCallbacks* callbacks) {
|
| - int request_id = get_for_ready_callbacks_.Add(callbacks);
|
| + std::unique_ptr<WebServiceWorkerGetRegistrationForReadyCallbacks>
|
| + callbacks) {
|
| + int request_id = get_for_ready_callbacks_.Add(std::move(callbacks));
|
| TRACE_EVENT_ASYNC_BEGIN0("ServiceWorker",
|
| "ServiceWorkerDispatcher::GetRegistrationForReady",
|
| request_id);
|
| @@ -226,7 +226,7 @@ void ServiceWorkerDispatcher::EnableNavigationPreload(
|
| std::unique_ptr<WebEnableNavigationPreloadCallbacks> callbacks) {
|
| DCHECK(callbacks);
|
| int request_id =
|
| - enable_navigation_preload_callbacks_.Add(callbacks.release());
|
| + enable_navigation_preload_callbacks_.Add(std::move(callbacks));
|
| thread_safe_sender_->Send(new ServiceWorkerHostMsg_EnableNavigationPreload(
|
| CurrentWorkerId(), request_id, provider_id, registration_id, enable));
|
| }
|
| @@ -237,7 +237,7 @@ void ServiceWorkerDispatcher::GetNavigationPreloadState(
|
| std::unique_ptr<WebGetNavigationPreloadStateCallbacks> callbacks) {
|
| DCHECK(callbacks);
|
| int request_id =
|
| - get_navigation_preload_state_callbacks_.Add(callbacks.release());
|
| + get_navigation_preload_state_callbacks_.Add(std::move(callbacks));
|
| thread_safe_sender_->Send(new ServiceWorkerHostMsg_GetNavigationPreloadState(
|
| CurrentWorkerId(), request_id, provider_id, registration_id));
|
| }
|
| @@ -249,7 +249,7 @@ void ServiceWorkerDispatcher::SetNavigationPreloadHeader(
|
| std::unique_ptr<WebSetNavigationPreloadHeaderCallbacks> callbacks) {
|
| DCHECK(callbacks);
|
| int request_id =
|
| - set_navigation_preload_header_callbacks_.Add(callbacks.release());
|
| + set_navigation_preload_header_callbacks_.Add(std::move(callbacks));
|
| thread_safe_sender_->Send(new ServiceWorkerHostMsg_SetNavigationPreloadHeader(
|
| CurrentWorkerId(), request_id, provider_id, registration_id, value));
|
| }
|
|
|