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

Unified Diff: content/child/service_worker/service_worker_dispatcher.cc

Issue 2433273003: service worker: Plumb NavigationPreloadManager.enable/disable to browser-side (Closed)
Patch Set: comments Created 4 years, 2 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/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 984468a725342878cf099057958ac33bfaa193ad..6ca9fac9f7e9fe5144594f55d03946f2c13f7b47 100644
--- a/content/child/service_worker/service_worker_dispatcher.cc
+++ b/content/child/service_worker/service_worker_dispatcher.cc
@@ -79,6 +79,8 @@ void ServiceWorkerDispatcher::OnMessageReceived(const IPC::Message& msg) {
OnDidGetRegistrations)
IPC_MESSAGE_HANDLER(ServiceWorkerMsg_DidGetRegistrationForReady,
OnDidGetRegistrationForReady)
+ IPC_MESSAGE_HANDLER(ServiceWorkerMsg_DidEnableNavigationPreload,
+ OnDidEnableNavigationPreload)
IPC_MESSAGE_HANDLER(ServiceWorkerMsg_ServiceWorkerRegistrationError,
OnRegistrationError)
IPC_MESSAGE_HANDLER(ServiceWorkerMsg_ServiceWorkerUpdateError,
@@ -89,6 +91,8 @@ void ServiceWorkerDispatcher::OnMessageReceived(const IPC::Message& msg) {
OnGetRegistrationError)
IPC_MESSAGE_HANDLER(ServiceWorkerMsg_ServiceWorkerGetRegistrationsError,
OnGetRegistrationsError)
+ IPC_MESSAGE_HANDLER(ServiceWorkerMsg_EnableNavigationPreloadError,
+ OnEnableNavigationPreloadError)
IPC_MESSAGE_HANDLER(ServiceWorkerMsg_ServiceWorkerStateChanged,
OnServiceWorkerStateChanged)
IPC_MESSAGE_HANDLER(ServiceWorkerMsg_SetVersionAttributes,
@@ -206,6 +210,18 @@ void ServiceWorkerDispatcher::GetRegistrationForReady(
CurrentWorkerId(), request_id, provider_id));
}
+void ServiceWorkerDispatcher::EnableNavigationPreload(
+ int provider_id,
+ int64_t registration_id,
+ bool enable,
+ std::unique_ptr<WebEnableNavigationPreloadCallbacks> callbacks) {
+ DCHECK(callbacks);
+ int request_id =
+ enable_navigation_preload_callbacks_.Add(callbacks.release());
+ thread_safe_sender_->Send(new ServiceWorkerHostMsg_EnableNavigationPreload(
+ CurrentWorkerId(), request_id, provider_id, registration_id, enable));
+}
+
void ServiceWorkerDispatcher::AddProviderContext(
ServiceWorkerProviderContext* provider_context) {
DCHECK(provider_context);
@@ -520,6 +536,17 @@ void ServiceWorkerDispatcher::OnDidGetRegistrationForReady(
get_for_ready_callbacks_.Remove(request_id);
}
+void ServiceWorkerDispatcher::OnDidEnableNavigationPreload(int thread_id,
+ int request_id) {
+ WebEnableNavigationPreloadCallbacks* callbacks =
+ enable_navigation_preload_callbacks_.Lookup(request_id);
+ DCHECK(callbacks);
+ if (!callbacks)
+ return;
+ callbacks->onSuccess();
+ enable_navigation_preload_callbacks_.Remove(request_id);
+}
+
void ServiceWorkerDispatcher::OnRegistrationError(
int thread_id,
int request_id,
@@ -632,6 +659,21 @@ void ServiceWorkerDispatcher::OnGetRegistrationsError(
pending_get_registrations_callbacks_.Remove(request_id);
}
+void ServiceWorkerDispatcher::OnEnableNavigationPreloadError(
+ int thread_id,
+ int request_id,
+ WebServiceWorkerError::ErrorType error_type,
+ const std::string& message) {
+ WebEnableNavigationPreloadCallbacks* callbacks =
+ enable_navigation_preload_callbacks_.Lookup(request_id);
+ DCHECK(callbacks);
+ if (!callbacks)
+ return;
+ callbacks->onError(
+ WebServiceWorkerError(error_type, blink::WebString::fromUTF8(message)));
+ enable_navigation_preload_callbacks_.Remove(request_id);
+}
+
void ServiceWorkerDispatcher::OnServiceWorkerStateChanged(
int thread_id,
int handle_id,

Powered by Google App Engine
This is Rietveld 408576698