#include "content/browser/service_worker/service_worker_host.h"
#include <utility>
#include "base/functional/bind.h"
#include "base/memory/ptr_util.h"
#include "content/browser/broadcast_channel/broadcast_channel_provider.h"
#include "content/browser/broadcast_channel/broadcast_channel_service.h"
#include "content/browser/buckets/bucket_manager.h"
#include "content/browser/code_cache/generated_code_cache_context.h"
#include "content/browser/file_system_access/file_system_access_error.h"
#include "content/browser/renderer_host/code_cache_host_impl.h"
#include "content/browser/renderer_host/render_process_host_impl.h"
#include "content/browser/service_worker/service_worker_consts.h"
#include "content/browser/service_worker/service_worker_container_host.h"
#include "content/browser/service_worker/service_worker_context_core.h"
#include "content/browser/service_worker/service_worker_version.h"
#include "content/browser/webtransport/web_transport_connector_impl.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/child_process_host.h"
#include "content/public/browser/permission_controller.h"
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/storage_partition.h"
#include "content/public/common/content_client.h"
#include "content/public/common/origin_util.h"
#include "mojo/public/cpp/bindings/message.h"
#include "storage/browser/blob/blob_url_store_impl.h"
#include "third_party/blink/public/common/features.h"
#include "third_party/blink/public/common/messaging/message_port_channel.h"
#include "third_party/blink/public/common/storage_key/storage_key.h"
#include "third_party/blink/public/mojom/service_worker/service_worker_client.mojom.h"
namespace content {
ServiceWorkerHost::ServiceWorkerHost(
mojo::PendingAssociatedReceiver<blink::mojom::ServiceWorkerContainerHost>
host_receiver,
ServiceWorkerVersion& version,
base::WeakPtr<ServiceWorkerContextCore> context)
: … { … }
ServiceWorkerHost::~ServiceWorkerHost() { … }
void ServiceWorkerHost::CompleteStartWorkerPreparation(
int process_id,
mojo::PendingReceiver<blink::mojom::BrowserInterfaceBroker> broker_receiver,
mojo::PendingRemote<service_manager::mojom::InterfaceProvider>
interface_provider_remote) { … }
void ServiceWorkerHost::CreateWebTransportConnector(
mojo::PendingReceiver<blink::mojom::WebTransportConnector> receiver) { … }
void ServiceWorkerHost::BindCacheStorage(
mojo::PendingReceiver<blink::mojom::CacheStorage> receiver) { … }
void ServiceWorkerHost::GetSandboxedFileSystemForBucket(
const storage::BucketInfo& bucket,
const std::vector<std::string>& directory_path_components,
blink::mojom::FileSystemAccessManager::GetSandboxedFileSystemCallback
callback) { … }
#if !BUILDFLAG(IS_ANDROID)
void ServiceWorkerHost::BindHidService(
mojo::PendingReceiver<blink::mojom::HidService> receiver) { … }
#endif
void ServiceWorkerHost::BindUsbService(
mojo::PendingReceiver<blink::mojom::WebUsbService> receiver) { … }
net::NetworkIsolationKey ServiceWorkerHost::GetNetworkIsolationKey() const { … }
net::NetworkAnonymizationKey ServiceWorkerHost::GetNetworkAnonymizationKey()
const { … }
const base::UnguessableToken& ServiceWorkerHost::GetReportingSource() const { … }
StoragePartition* ServiceWorkerHost::GetStoragePartition() const { … }
void ServiceWorkerHost::CreateCodeCacheHost(
mojo::PendingReceiver<blink::mojom::CodeCacheHost> receiver) { … }
void ServiceWorkerHost::CreateBroadcastChannelProvider(
mojo::PendingReceiver<blink::mojom::BroadcastChannelProvider> receiver) { … }
void ServiceWorkerHost::CreateBlobUrlStoreProvider(
mojo::PendingReceiver<blink::mojom::BlobURLStore> receiver) { … }
void ServiceWorkerHost::CreateBucketManagerHost(
mojo::PendingReceiver<blink::mojom::BucketManagerHost> receiver) { … }
base::WeakPtr<ServiceWorkerHost> ServiceWorkerHost::GetWeakPtr() { … }
void ServiceWorkerHost::ReportNoBinderForInterface(const std::string& error) { … }
blink::StorageKey ServiceWorkerHost::GetBucketStorageKey() { … }
blink::mojom::PermissionStatus ServiceWorkerHost::GetPermissionStatus(
blink::PermissionType permission_type) { … }
void ServiceWorkerHost::BindCacheStorageForBucket(
const storage::BucketInfo& bucket,
mojo::PendingReceiver<blink::mojom::CacheStorage> receiver) { … }
storage::BucketClientInfo ServiceWorkerHost::GetBucketClientInfo() const { … }
RenderProcessHost* ServiceWorkerHost::GetProcessHost() const { … }
void ServiceWorkerHost::BindAIManager(
mojo::PendingReceiver<blink::mojom::AIManager> receiver) { … }
}