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

Side by Side Diff: content/browser/service_worker/service_worker_dispatcher_host.cc

Issue 2388023002: service worker: navigation preload basic setters/getters and flag
Patch Set: idl 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/service_worker/service_worker_dispatcher_host.h" 5 #include "content/browser/service_worker/service_worker_dispatcher_host.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/debug/crash_logging.h" 9 #include "base/debug/crash_logging.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_UpdateServiceWorker, 164 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_UpdateServiceWorker,
165 OnUpdateServiceWorker) 165 OnUpdateServiceWorker)
166 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_UnregisterServiceWorker, 166 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_UnregisterServiceWorker,
167 OnUnregisterServiceWorker) 167 OnUnregisterServiceWorker)
168 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_GetRegistration, 168 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_GetRegistration,
169 OnGetRegistration) 169 OnGetRegistration)
170 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_GetRegistrations, 170 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_GetRegistrations,
171 OnGetRegistrations) 171 OnGetRegistrations)
172 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_GetRegistrationForReady, 172 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_GetRegistrationForReady,
173 OnGetRegistrationForReady) 173 OnGetRegistrationForReady)
174 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_SetNavigationPreload,
175 OnSetNavigationPreload)
176 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_GetNavigationPreload,
177 OnGetNavigationPreload)
174 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_ProviderCreated, 178 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_ProviderCreated,
175 OnProviderCreated) 179 OnProviderCreated)
176 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_ProviderDestroyed, 180 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_ProviderDestroyed,
177 OnProviderDestroyed) 181 OnProviderDestroyed)
178 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_SetVersionId, 182 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_SetVersionId,
179 OnSetHostedVersionId) 183 OnSetHostedVersionId)
180 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_PostMessageToWorker, 184 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_PostMessageToWorker,
181 OnPostMessageToWorker) 185 OnPostMessageToWorker)
182 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_WorkerReadyForInspection, 186 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_WorkerReadyForInspection,
183 OnWorkerReadyForInspection) 187 OnWorkerReadyForInspection)
(...skipping 508 matching lines...) Expand 10 before | Expand all | Expand 10 after
692 "ServiceWorker", "ServiceWorkerDispatcherHost::GetRegistrationForReady", 696 "ServiceWorker", "ServiceWorkerDispatcherHost::GetRegistrationForReady",
693 request_id); 697 request_id);
694 if (!provider_host->GetRegistrationForReady(base::Bind( 698 if (!provider_host->GetRegistrationForReady(base::Bind(
695 &ServiceWorkerDispatcherHost::GetRegistrationForReadyComplete, 699 &ServiceWorkerDispatcherHost::GetRegistrationForReadyComplete,
696 this, thread_id, request_id, provider_host->AsWeakPtr()))) { 700 this, thread_id, request_id, provider_host->AsWeakPtr()))) {
697 bad_message::ReceivedBadMessage( 701 bad_message::ReceivedBadMessage(
698 this, bad_message::SWDH_GET_REGISTRATION_FOR_READY_ALREADY_IN_PROGRESS); 702 this, bad_message::SWDH_GET_REGISTRATION_FOR_READY_ALREADY_IN_PROGRESS);
699 } 703 }
700 } 704 }
701 705
706 void ServiceWorkerDispatcherHost::OnSetNavigationPreload(
707 int thread_id,
708 int request_id,
709 int handle_id,
710 const std::string& value) {
711 LOG(ERROR) << "ServiceWorkerDispatcherHost::OnSetNavigationPreload: value="
712 << value;
713 ServiceWorkerHandle* handle = handles_.Lookup(handle_id);
714 if (!handle) {
715 bad_message::ReceivedBadMessage(this,
716 bad_message::SWDH_POST_MESSAGE /* XXX */);
717 return;
718 }
719 ServiceWorkerVersion* version = handle->version();
720 if (version->is_navigation_preload_enabled() &&
721 version->navigation_preload_value() == value) {
722 Send(new ServiceWorkerMsg_DidSetNavigationPreload(thread_id, request_id));
723 return;
724 }
725 handle->version()->set_navigation_preload_enabled(true, value);
726 Send(new ServiceWorkerMsg_DidSetNavigationPreload(thread_id, request_id));
727 // TODO(falken): Persist the value in storage.
728 }
729
730 void ServiceWorkerDispatcherHost::OnGetNavigationPreload(int thread_id,
731 int request_id,
732 int handle_id) {
733 LOG(ERROR) << "ServiceWorkerDispatcherHost::OnGetNavigationPreload";
734 ServiceWorkerHandle* handle = handles_.Lookup(handle_id);
735 if (!handle) {
736 bad_message::ReceivedBadMessage(this,
737 bad_message::SWDH_POST_MESSAGE /* XXX */);
738 return;
739 }
740 const ServiceWorkerVersion* version = handle->version();
741 Send(new ServiceWorkerMsg_DidGetNavigationPreload(
742 thread_id, request_id, version->is_navigation_preload_enabled(),
743 version->navigation_preload_value()));
744 }
745
702 void ServiceWorkerDispatcherHost::OnPostMessageToWorker( 746 void ServiceWorkerDispatcherHost::OnPostMessageToWorker(
703 int handle_id, 747 int handle_id,
704 int provider_id, 748 int provider_id,
705 const base::string16& message, 749 const base::string16& message,
706 const url::Origin& source_origin, 750 const url::Origin& source_origin,
707 const std::vector<int>& sent_message_ports) { 751 const std::vector<int>& sent_message_ports) {
708 TRACE_EVENT0("ServiceWorker", 752 TRACE_EVENT0("ServiceWorker",
709 "ServiceWorkerDispatcherHost::OnPostMessageToWorker"); 753 "ServiceWorkerDispatcherHost::OnPostMessageToWorker");
710 if (!GetContext()) 754 if (!GetContext())
711 return; 755 return;
(...skipping 743 matching lines...) Expand 10 before | Expand all | Expand 10 after
1455 if (!handle) { 1499 if (!handle) {
1456 bad_message::ReceivedBadMessage(this, 1500 bad_message::ReceivedBadMessage(this,
1457 bad_message::SWDH_TERMINATE_BAD_HANDLE); 1501 bad_message::SWDH_TERMINATE_BAD_HANDLE);
1458 return; 1502 return;
1459 } 1503 }
1460 handle->version()->StopWorker( 1504 handle->version()->StopWorker(
1461 base::Bind(&ServiceWorkerUtils::NoOpStatusCallback)); 1505 base::Bind(&ServiceWorkerUtils::NoOpStatusCallback));
1462 } 1506 }
1463 1507
1464 } // namespace content 1508 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698