chromium/third_party/blink/public/mojom/service_worker/service_worker_worker_client_registry.mojom

// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

module blink.mojom;

import "third_party/blink/public/mojom/service_worker/service_worker_worker_client.mojom";

// ServiceWorkerWorkerClientRegistry is a mojo interface for hosting and
// registering ServiceWorkerWorkerClients. An instance of this interface is
// implemented by ServiceWorkerProviderContext and lives in the same renderer
// process as the worker clients.
// This interface is useful when one needs to register a new worker client
// for an existing ServiceWorkerProviderContext on non-main thread, i.e. for
// nested workers.
interface ServiceWorkerWorkerClientRegistry {
  // Adds a new ServiceWorkerWorkerClient.
  RegisterWorkerClient(pending_remote<ServiceWorkerWorkerClient> client);

  // Clones this host.
  CloneWorkerClientRegistry(
      pending_receiver<ServiceWorkerWorkerClientRegistry> host);
};