#include "extensions/renderer/service_worker_data.h"
#include "extensions/common/extension.h"
#include "extensions/common/permissions/permissions_data.h"
#include "extensions/renderer/dispatcher.h"
#include "extensions/renderer/extension_interaction_provider.h"
#include "extensions/renderer/native_extension_bindings_system.h"
#include "extensions/renderer/renderer_extension_registry.h"
#include "extensions/renderer/worker_script_context_set.h"
#include "extensions/renderer/worker_thread_dispatcher.h"
#include "extensions/renderer/worker_thread_util.h"
#include "third_party/blink/public/common/associated_interfaces/associated_interface_registry.h"
#include "third_party/blink/public/common/tokens/tokens.h"
namespace extensions {
ServiceWorkerData::ServiceWorkerData(
blink::WebServiceWorkerContextProxy* proxy,
int64_t service_worker_version_id,
const std::optional<base::UnguessableToken>& activation_sequence,
const blink::ServiceWorkerToken& service_worker_token,
ScriptContext* context,
std::unique_ptr<NativeExtensionBindingsSystem> bindings_system)
: … { … }
ServiceWorkerData::~ServiceWorkerData() = default;
void ServiceWorkerData::OnServiceWorkerRequest(
mojo::PendingAssociatedReceiver<mojom::ServiceWorker> receiver) { … }
void ServiceWorkerData::UpdatePermissions(PermissionSet active_permissions,
PermissionSet withheld_permissions) { … }
mojom::ServiceWorkerHost* ServiceWorkerData::GetServiceWorkerHost() { … }
mojom::EventRouter* ServiceWorkerData::GetEventRouter() { … }
mojom::RendererAutomationRegistry* ServiceWorkerData::GetAutomationRegistry() { … }
mojom::RendererHost* ServiceWorkerData::GetRendererHost() { … }
void ServiceWorkerData::Init() { … }
void ServiceWorkerData::DispatchEvent(mojom::DispatchEventParamsPtr params,
base::Value::List event_args,
DispatchEventCallback callback) { … }
void ServiceWorkerData::DispatchOnConnect(
const PortId& port_id,
extensions::mojom::ChannelType channel_type,
const std::string& channel_name,
extensions::mojom::TabConnectionInfoPtr tab_info,
extensions::mojom::ExternalConnectionInfoPtr external_connection_info,
mojo::PendingAssociatedReceiver<extensions::mojom::MessagePort> port,
mojo::PendingAssociatedRemote<extensions::mojom::MessagePortHost> port_host,
DispatchOnConnectCallback callback) { … }
}