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

Unified Diff: content/browser/service_worker/service_worker_version.cc

Issue 1800953003: ServiceWorker: Move ExtendableMessageEvent dispatching out of ServiceWorkerVersion (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove unnecessary code Created 4 years, 9 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
« no previous file with comments | « content/browser/service_worker/service_worker_version.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/service_worker/service_worker_version.cc
diff --git a/content/browser/service_worker/service_worker_version.cc b/content/browser/service_worker/service_worker_version.cc
index 7369578627efc1ec219a2c05f28e601e709071f3..6c427f25f81832a0eb2b2e7d1f6713354e3234a2 100644
--- a/content/browser/service_worker/service_worker_version.cc
+++ b/content/browser/service_worker/service_worker_version.cc
@@ -525,49 +525,6 @@ void ServiceWorkerVersion::RunAfterStartWorker(
error_callback, task));
}
-void ServiceWorkerVersion::DispatchExtendableMessageEvent(
- ServiceWorkerProviderHost* sender_provider_host,
- const base::string16& message,
- const url::Origin& source_origin,
- const std::vector<TransferredMessagePort>& sent_message_ports,
- const StatusCallback& callback) {
- for (const TransferredMessagePort& port : sent_message_ports)
- MessagePortService::GetInstance()->HoldMessages(port.id);
-
- switch (sender_provider_host->provider_type()) {
- case SERVICE_WORKER_PROVIDER_FOR_WINDOW:
- case SERVICE_WORKER_PROVIDER_FOR_WORKER:
- case SERVICE_WORKER_PROVIDER_FOR_SHARED_WORKER:
- service_worker_client_utils::GetClient(
- sender_provider_host,
- base::Bind(
- &ServiceWorkerVersion::DispatchExtendableMessageEventInternal<
- ServiceWorkerClientInfo>,
- weak_factory_.GetWeakPtr(), message, source_origin,
- sent_message_ports, callback));
- break;
- case SERVICE_WORKER_PROVIDER_FOR_CONTROLLER:
- // TODO(nhiroki): Decrement a reference to ServiceWorkerHandle if starting
- // worker fails. Handles are managed by ServiceWorkerDispatcherHost, and
- // we might need to make a new path to ask the dispatcher host to release
- // the handle from ServiceWorkerVersion (http://crbug.com/543198).
- RunSoon(base::Bind(
- &ServiceWorkerVersion::DispatchExtendableMessageEventInternal<
- ServiceWorkerObjectInfo>,
- weak_factory_.GetWeakPtr(), message, source_origin,
- sent_message_ports, callback,
- sender_provider_host->GetOrCreateServiceWorkerHandle(
- sender_provider_host->running_hosted_version())));
- break;
- case SERVICE_WORKER_PROVIDER_FOR_SANDBOXED_FRAME:
- case SERVICE_WORKER_PROVIDER_UNKNOWN:
- NOTREACHED() << sender_provider_host->provider_type();
- RunSoon(base::Bind(&RunErrorMessageCallback, sent_message_ports, callback,
- SERVICE_WORKER_ERROR_FAILED));
- break;
- }
-}
-
void ServiceWorkerVersion::DispatchMessageEvent(
const base::string16& message,
const std::vector<TransferredMessagePort>& sent_message_ports,
@@ -938,60 +895,6 @@ void ServiceWorkerVersion::OnStartSentAndScriptEvaluated(
}
}
-template <typename SourceInfo>
-void ServiceWorkerVersion::DispatchExtendableMessageEventInternal(
- const base::string16& message,
- const url::Origin& source_origin,
- const std::vector<TransferredMessagePort>& sent_message_ports,
- const StatusCallback& callback,
- const SourceInfo& source_info) {
- if (!source_info.IsValid()) {
- RunErrorMessageCallback(sent_message_ports, callback,
- SERVICE_WORKER_ERROR_FAILED);
- return;
- }
- RunAfterStartWorker(
- base::Bind(
- &ServiceWorkerVersion::DispatchExtendableMessageEventAfterStartWorker,
- weak_factory_.GetWeakPtr(), message, source_origin,
- sent_message_ports, ExtendableMessageEventSource(source_info),
- callback),
- base::Bind(&RunErrorMessageCallback, sent_message_ports, callback));
-}
-
-void ServiceWorkerVersion::DispatchExtendableMessageEventAfterStartWorker(
- const base::string16& message,
- const url::Origin& source_origin,
- const std::vector<TransferredMessagePort>& sent_message_ports,
- const ExtendableMessageEventSource& source,
- const StatusCallback& callback) {
- int request_id =
- StartRequest(ServiceWorkerMetrics::EventType::MESSAGE, callback);
-
- MessagePortMessageFilter* filter =
- embedded_worker_->message_port_message_filter();
- std::vector<int> new_routing_ids;
- filter->UpdateMessagePortsWithNewRoutes(sent_message_ports, &new_routing_ids);
-
- ServiceWorkerMsg_ExtendableMessageEvent_Params params;
- params.message = message;
- params.source_origin = source_origin;
- params.message_ports = sent_message_ports;
- params.new_routing_ids = new_routing_ids;
- params.source = source;
-
- // Hide the client url if the client has a unique origin.
- if (source_origin.unique()) {
- if (params.source.client_info.IsValid())
- params.source.client_info.url = GURL();
- else
- params.source.service_worker_info.url = GURL();
- }
-
- DispatchSimpleEvent<ServiceWorkerHostMsg_ExtendableMessageEventFinished>(
- request_id, ServiceWorkerMsg_ExtendableMessageEvent(request_id, params));
-}
-
void ServiceWorkerVersion::OnGetClient(int request_id,
const std::string& client_uuid) {
if (!context_)
« no previous file with comments | « content/browser/service_worker/service_worker_version.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698