You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
410 lines
11 KiB
Python
410 lines
11 KiB
Python
# DO NOT EDIT THIS FILE!
|
|
#
|
|
# This file is generated from the CDP specification. If you need to make
|
|
# changes, edit the generator and regenerate all of the modules.
|
|
#
|
|
# CDP domain: ServiceWorker (experimental)
|
|
from __future__ import annotations
|
|
from .util import event_class, T_JSON_DICT
|
|
from dataclasses import dataclass
|
|
import enum
|
|
import typing
|
|
from . import target
|
|
|
|
|
|
class RegistrationID(str):
|
|
def to_json(self) -> str:
|
|
return self
|
|
|
|
@classmethod
|
|
def from_json(cls, json: str) -> RegistrationID:
|
|
return cls(json)
|
|
|
|
def __repr__(self):
|
|
return 'RegistrationID({})'.format(super().__repr__())
|
|
|
|
|
|
@dataclass
|
|
class ServiceWorkerRegistration:
|
|
'''
|
|
ServiceWorker registration.
|
|
'''
|
|
registration_id: RegistrationID
|
|
|
|
scope_url: str
|
|
|
|
is_deleted: bool
|
|
|
|
def to_json(self):
|
|
json = dict()
|
|
json['registrationId'] = self.registration_id.to_json()
|
|
json['scopeURL'] = self.scope_url
|
|
json['isDeleted'] = self.is_deleted
|
|
return json
|
|
|
|
@classmethod
|
|
def from_json(cls, json):
|
|
return cls(
|
|
registration_id=RegistrationID.from_json(json['registrationId']),
|
|
scope_url=str(json['scopeURL']),
|
|
is_deleted=bool(json['isDeleted']),
|
|
)
|
|
|
|
|
|
class ServiceWorkerVersionRunningStatus(enum.Enum):
|
|
STOPPED = "stopped"
|
|
STARTING = "starting"
|
|
RUNNING = "running"
|
|
STOPPING = "stopping"
|
|
|
|
def to_json(self):
|
|
return self.value
|
|
|
|
@classmethod
|
|
def from_json(cls, json):
|
|
return cls(json)
|
|
|
|
|
|
class ServiceWorkerVersionStatus(enum.Enum):
|
|
NEW = "new"
|
|
INSTALLING = "installing"
|
|
INSTALLED = "installed"
|
|
ACTIVATING = "activating"
|
|
ACTIVATED = "activated"
|
|
REDUNDANT = "redundant"
|
|
|
|
def to_json(self):
|
|
return self.value
|
|
|
|
@classmethod
|
|
def from_json(cls, json):
|
|
return cls(json)
|
|
|
|
|
|
@dataclass
|
|
class ServiceWorkerVersion:
|
|
'''
|
|
ServiceWorker version.
|
|
'''
|
|
version_id: str
|
|
|
|
registration_id: RegistrationID
|
|
|
|
script_url: str
|
|
|
|
running_status: ServiceWorkerVersionRunningStatus
|
|
|
|
status: ServiceWorkerVersionStatus
|
|
|
|
#: The Last-Modified header value of the main script.
|
|
script_last_modified: typing.Optional[float] = None
|
|
|
|
#: The time at which the response headers of the main script were received from the server.
|
|
#: For cached script it is the last time the cache entry was validated.
|
|
script_response_time: typing.Optional[float] = None
|
|
|
|
controlled_clients: typing.Optional[typing.List[target.TargetID]] = None
|
|
|
|
target_id: typing.Optional[target.TargetID] = None
|
|
|
|
def to_json(self):
|
|
json = dict()
|
|
json['versionId'] = self.version_id
|
|
json['registrationId'] = self.registration_id.to_json()
|
|
json['scriptURL'] = self.script_url
|
|
json['runningStatus'] = self.running_status.to_json()
|
|
json['status'] = self.status.to_json()
|
|
if self.script_last_modified is not None:
|
|
json['scriptLastModified'] = self.script_last_modified
|
|
if self.script_response_time is not None:
|
|
json['scriptResponseTime'] = self.script_response_time
|
|
if self.controlled_clients is not None:
|
|
json['controlledClients'] = [i.to_json() for i in self.controlled_clients]
|
|
if self.target_id is not None:
|
|
json['targetId'] = self.target_id.to_json()
|
|
return json
|
|
|
|
@classmethod
|
|
def from_json(cls, json):
|
|
return cls(
|
|
version_id=str(json['versionId']),
|
|
registration_id=RegistrationID.from_json(json['registrationId']),
|
|
script_url=str(json['scriptURL']),
|
|
running_status=ServiceWorkerVersionRunningStatus.from_json(json['runningStatus']),
|
|
status=ServiceWorkerVersionStatus.from_json(json['status']),
|
|
script_last_modified=float(json['scriptLastModified']) if 'scriptLastModified' in json else None,
|
|
script_response_time=float(json['scriptResponseTime']) if 'scriptResponseTime' in json else None,
|
|
controlled_clients=[target.TargetID.from_json(i) for i in json['controlledClients']] if 'controlledClients' in json else None,
|
|
target_id=target.TargetID.from_json(json['targetId']) if 'targetId' in json else None,
|
|
)
|
|
|
|
|
|
@dataclass
|
|
class ServiceWorkerErrorMessage:
|
|
'''
|
|
ServiceWorker error message.
|
|
'''
|
|
error_message: str
|
|
|
|
registration_id: RegistrationID
|
|
|
|
version_id: str
|
|
|
|
source_url: str
|
|
|
|
line_number: int
|
|
|
|
column_number: int
|
|
|
|
def to_json(self):
|
|
json = dict()
|
|
json['errorMessage'] = self.error_message
|
|
json['registrationId'] = self.registration_id.to_json()
|
|
json['versionId'] = self.version_id
|
|
json['sourceURL'] = self.source_url
|
|
json['lineNumber'] = self.line_number
|
|
json['columnNumber'] = self.column_number
|
|
return json
|
|
|
|
@classmethod
|
|
def from_json(cls, json):
|
|
return cls(
|
|
error_message=str(json['errorMessage']),
|
|
registration_id=RegistrationID.from_json(json['registrationId']),
|
|
version_id=str(json['versionId']),
|
|
source_url=str(json['sourceURL']),
|
|
line_number=int(json['lineNumber']),
|
|
column_number=int(json['columnNumber']),
|
|
)
|
|
|
|
|
|
def deliver_push_message(
|
|
origin: str,
|
|
registration_id: RegistrationID,
|
|
data: str
|
|
) -> typing.Generator[T_JSON_DICT,T_JSON_DICT,None]:
|
|
'''
|
|
:param origin:
|
|
:param registration_id:
|
|
:param data:
|
|
'''
|
|
params: T_JSON_DICT = dict()
|
|
params['origin'] = origin
|
|
params['registrationId'] = registration_id.to_json()
|
|
params['data'] = data
|
|
cmd_dict: T_JSON_DICT = {
|
|
'method': 'ServiceWorker.deliverPushMessage',
|
|
'params': params,
|
|
}
|
|
json = yield cmd_dict
|
|
|
|
|
|
def disable() -> typing.Generator[T_JSON_DICT,T_JSON_DICT,None]:
|
|
|
|
cmd_dict: T_JSON_DICT = {
|
|
'method': 'ServiceWorker.disable',
|
|
}
|
|
json = yield cmd_dict
|
|
|
|
|
|
def dispatch_sync_event(
|
|
origin: str,
|
|
registration_id: RegistrationID,
|
|
tag: str,
|
|
last_chance: bool
|
|
) -> typing.Generator[T_JSON_DICT,T_JSON_DICT,None]:
|
|
'''
|
|
:param origin:
|
|
:param registration_id:
|
|
:param tag:
|
|
:param last_chance:
|
|
'''
|
|
params: T_JSON_DICT = dict()
|
|
params['origin'] = origin
|
|
params['registrationId'] = registration_id.to_json()
|
|
params['tag'] = tag
|
|
params['lastChance'] = last_chance
|
|
cmd_dict: T_JSON_DICT = {
|
|
'method': 'ServiceWorker.dispatchSyncEvent',
|
|
'params': params,
|
|
}
|
|
json = yield cmd_dict
|
|
|
|
|
|
def dispatch_periodic_sync_event(
|
|
origin: str,
|
|
registration_id: RegistrationID,
|
|
tag: str
|
|
) -> typing.Generator[T_JSON_DICT,T_JSON_DICT,None]:
|
|
'''
|
|
:param origin:
|
|
:param registration_id:
|
|
:param tag:
|
|
'''
|
|
params: T_JSON_DICT = dict()
|
|
params['origin'] = origin
|
|
params['registrationId'] = registration_id.to_json()
|
|
params['tag'] = tag
|
|
cmd_dict: T_JSON_DICT = {
|
|
'method': 'ServiceWorker.dispatchPeriodicSyncEvent',
|
|
'params': params,
|
|
}
|
|
json = yield cmd_dict
|
|
|
|
|
|
def enable() -> typing.Generator[T_JSON_DICT,T_JSON_DICT,None]:
|
|
|
|
cmd_dict: T_JSON_DICT = {
|
|
'method': 'ServiceWorker.enable',
|
|
}
|
|
json = yield cmd_dict
|
|
|
|
|
|
def inspect_worker(
|
|
version_id: str
|
|
) -> typing.Generator[T_JSON_DICT,T_JSON_DICT,None]:
|
|
'''
|
|
:param version_id:
|
|
'''
|
|
params: T_JSON_DICT = dict()
|
|
params['versionId'] = version_id
|
|
cmd_dict: T_JSON_DICT = {
|
|
'method': 'ServiceWorker.inspectWorker',
|
|
'params': params,
|
|
}
|
|
json = yield cmd_dict
|
|
|
|
|
|
def set_force_update_on_page_load(
|
|
force_update_on_page_load: bool
|
|
) -> typing.Generator[T_JSON_DICT,T_JSON_DICT,None]:
|
|
'''
|
|
:param force_update_on_page_load:
|
|
'''
|
|
params: T_JSON_DICT = dict()
|
|
params['forceUpdateOnPageLoad'] = force_update_on_page_load
|
|
cmd_dict: T_JSON_DICT = {
|
|
'method': 'ServiceWorker.setForceUpdateOnPageLoad',
|
|
'params': params,
|
|
}
|
|
json = yield cmd_dict
|
|
|
|
|
|
def skip_waiting(
|
|
scope_url: str
|
|
) -> typing.Generator[T_JSON_DICT,T_JSON_DICT,None]:
|
|
'''
|
|
:param scope_url:
|
|
'''
|
|
params: T_JSON_DICT = dict()
|
|
params['scopeURL'] = scope_url
|
|
cmd_dict: T_JSON_DICT = {
|
|
'method': 'ServiceWorker.skipWaiting',
|
|
'params': params,
|
|
}
|
|
json = yield cmd_dict
|
|
|
|
|
|
def start_worker(
|
|
scope_url: str
|
|
) -> typing.Generator[T_JSON_DICT,T_JSON_DICT,None]:
|
|
'''
|
|
:param scope_url:
|
|
'''
|
|
params: T_JSON_DICT = dict()
|
|
params['scopeURL'] = scope_url
|
|
cmd_dict: T_JSON_DICT = {
|
|
'method': 'ServiceWorker.startWorker',
|
|
'params': params,
|
|
}
|
|
json = yield cmd_dict
|
|
|
|
|
|
def stop_all_workers() -> typing.Generator[T_JSON_DICT,T_JSON_DICT,None]:
|
|
|
|
cmd_dict: T_JSON_DICT = {
|
|
'method': 'ServiceWorker.stopAllWorkers',
|
|
}
|
|
json = yield cmd_dict
|
|
|
|
|
|
def stop_worker(
|
|
version_id: str
|
|
) -> typing.Generator[T_JSON_DICT,T_JSON_DICT,None]:
|
|
'''
|
|
:param version_id:
|
|
'''
|
|
params: T_JSON_DICT = dict()
|
|
params['versionId'] = version_id
|
|
cmd_dict: T_JSON_DICT = {
|
|
'method': 'ServiceWorker.stopWorker',
|
|
'params': params,
|
|
}
|
|
json = yield cmd_dict
|
|
|
|
|
|
def unregister(
|
|
scope_url: str
|
|
) -> typing.Generator[T_JSON_DICT,T_JSON_DICT,None]:
|
|
'''
|
|
:param scope_url:
|
|
'''
|
|
params: T_JSON_DICT = dict()
|
|
params['scopeURL'] = scope_url
|
|
cmd_dict: T_JSON_DICT = {
|
|
'method': 'ServiceWorker.unregister',
|
|
'params': params,
|
|
}
|
|
json = yield cmd_dict
|
|
|
|
|
|
def update_registration(
|
|
scope_url: str
|
|
) -> typing.Generator[T_JSON_DICT,T_JSON_DICT,None]:
|
|
'''
|
|
:param scope_url:
|
|
'''
|
|
params: T_JSON_DICT = dict()
|
|
params['scopeURL'] = scope_url
|
|
cmd_dict: T_JSON_DICT = {
|
|
'method': 'ServiceWorker.updateRegistration',
|
|
'params': params,
|
|
}
|
|
json = yield cmd_dict
|
|
|
|
|
|
@event_class('ServiceWorker.workerErrorReported')
|
|
@dataclass
|
|
class WorkerErrorReported:
|
|
error_message: ServiceWorkerErrorMessage
|
|
|
|
@classmethod
|
|
def from_json(cls, json: T_JSON_DICT) -> WorkerErrorReported:
|
|
return cls(
|
|
error_message=ServiceWorkerErrorMessage.from_json(json['errorMessage'])
|
|
)
|
|
|
|
|
|
@event_class('ServiceWorker.workerRegistrationUpdated')
|
|
@dataclass
|
|
class WorkerRegistrationUpdated:
|
|
registrations: typing.List[ServiceWorkerRegistration]
|
|
|
|
@classmethod
|
|
def from_json(cls, json: T_JSON_DICT) -> WorkerRegistrationUpdated:
|
|
return cls(
|
|
registrations=[ServiceWorkerRegistration.from_json(i) for i in json['registrations']]
|
|
)
|
|
|
|
|
|
@event_class('ServiceWorker.workerVersionUpdated')
|
|
@dataclass
|
|
class WorkerVersionUpdated:
|
|
versions: typing.List[ServiceWorkerVersion]
|
|
|
|
@classmethod
|
|
def from_json(cls, json: T_JSON_DICT) -> WorkerVersionUpdated:
|
|
return cls(
|
|
versions=[ServiceWorkerVersion.from_json(i) for i in json['versions']]
|
|
)
|