/
githubmirror
/
servo
Обзор
Документация
Войти
/
githubmirror
/
servo
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
components/script/dom/workers/abstractworker.rs
36 строк
1 KB
Gregory Terzian
script: Add basic implementation of ServiceWorker lifecycle and messaging (#45082)
28 май 2026, 11:14
Не верифицирован
28 май 2026, 11:14
bd1bb2f
Код
Авторство
О чём код?
/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ use script_bindings::reflector::DomObject; use servo_base::id::PipelineId; use servo_constellation_traits::StructuredSerializedData; use servo_url::ImmutableOrigin; use crate::dom::bindings::refcounted::Trusted; use crate::messaging::CommonScriptMsg; /// Messages used to control the worker event loops pub(crate) enum WorkerScriptMsg { /// Common variants associated with the script messages Common(CommonScriptMsg), /// Message sent through Worker.postMessage DOMMessage(MessageData), } #[derive(MallocSizeOf)] pub(crate) struct MessageData { pub origin: ImmutableOrigin, pub data: Box<StructuredSerializedData>, pub pipeline_id: PipelineId, } pub(crate) struct SimpleWorkerErrorHandler<T: DomObject> { pub(crate) addr: Trusted<T>, } impl<T: DomObject> SimpleWorkerErrorHandler<T> { pub(crate) fn new(addr: Trusted<T>) -> SimpleWorkerErrorHandler<T> { SimpleWorkerErrorHandler { addr } } }