#include "content/renderer/service_worker/controller_service_worker_connector.h"
#include "base/functional/bind.h"
#include "base/functional/callback_helpers.h"
#include "base/observer_list.h"
#include "base/strings/utf_string_conversions.h"
#include "content/common/service_worker/service_worker_router_evaluator.h"
#include "third_party/blink/public/common/cache_storage/cache_storage_utils.h"
namespace content {
ControllerServiceWorkerConnector::ControllerServiceWorkerConnector(
mojo::PendingRemote<blink::mojom::ServiceWorkerContainerHost>
remote_container_host,
mojo::PendingRemote<blink::mojom::ControllerServiceWorker>
remote_controller,
mojo::PendingRemote<blink::mojom::CacheStorage> remote_cache_storage,
const std::string& client_id,
blink::mojom::ServiceWorkerFetchHandlerBypassOption
fetch_handler_bypass_option,
std::optional<blink::ServiceWorkerRouterRules> router_rules,
blink::EmbeddedWorkerStatus initial_running_status,
mojo::PendingReceiver<blink::mojom::ServiceWorkerRunningStatusCallback>
running_status_receiver)
: … { … }
blink::mojom::ControllerServiceWorker*
ControllerServiceWorkerConnector::GetControllerServiceWorker(
blink::mojom::ControllerServiceWorkerPurpose purpose) { … }
void ControllerServiceWorkerConnector::AddObserver(Observer* observer) { … }
void ControllerServiceWorkerConnector::RemoveObserver(Observer* observer) { … }
void ControllerServiceWorkerConnector::OnContainerHostConnectionClosed() { … }
void ControllerServiceWorkerConnector::OnControllerConnectionClosed() { … }
void ControllerServiceWorkerConnector::EnsureFileAccess(
const std::vector<base::FilePath>& file_paths,
base::OnceClosure callback) { … }
void ControllerServiceWorkerConnector::AddBinding(
mojo::PendingReceiver<blink::mojom::ControllerServiceWorkerConnector>
receiver) { … }
void ControllerServiceWorkerConnector::UpdateController(
mojo::PendingRemote<blink::mojom::ControllerServiceWorker> controller) { … }
void ControllerServiceWorkerConnector::SetControllerServiceWorker(
mojo::PendingRemote<blink::mojom::ControllerServiceWorker> controller) { … }
blink::EmbeddedWorkerStatus
ControllerServiceWorkerConnector::GetRecentRunningStatus() { … }
void ControllerServiceWorkerConnector::OnStatusChanged(
blink::EmbeddedWorkerStatus running_status) { … }
void ControllerServiceWorkerConnector::CallCacheStorageMatch(
std::optional<std::string> cache_name,
blink::mojom::FetchAPIRequestPtr request,
blink::mojom::CacheStorage::MatchCallback callback) { … }
ControllerServiceWorkerConnector::~ControllerServiceWorkerConnector() = default;
}