aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/task_source/websocket.rs
diff options
context:
space:
mode:
authorMartin Robinson <mrobinson@igalia.com>2024-12-26 04:34:54 +0100
committerGitHub <noreply@github.com>2024-12-26 03:34:54 +0000
commit5f927a2c285c779b631ba36520904189ebd5cd4c (patch)
treefd9326f2f730fad0ced85c9f8765aa866fba95e5 /components/script/task_source/websocket.rs
parent1e95712772284e434ab8f4c028d6cf78d2f63e1c (diff)
downloadservo-5f927a2c285c779b631ba36520904189ebd5cd4c.tar.gz
servo-5f927a2c285c779b631ba36520904189ebd5cd4c.zip
script: Refactor channels in `ScriptThread` into receivers and senders (#34776)
Create two new data structures in the `script` crate to hold senders and receiver: - `ScriptThreadSenders`: holds all outgoing channels from the `ScriptThread` including a channel to the `ScriptThread` itself. The ultimate goal with this is to reduce duplication by giving a boxed version of this this to `Window`s. - `ScriptThradReceivers`: holds all incoming channels to the `ScriptThread`. This isn't cloenable like the senders. This is used to abstract away `recv()` and `try_recv()` methods used to make the `ScriptThread` event loop easier to read. In addition: - The many duplicated `ScriptThread` self-senders for the `TaskManager` have been removed and, in general, a lot of boilerplate is removed as well. - Visibilty of all methods affected by this change is changed to `pub(crate)` in order to take advantage of dead code detection. Some dead code produced from macros is removed. - Some conversion code is refactord into implementations of the `From` trait. - The names of channels uses a standard "sender" and "receiver" naming as well as trying to be descriptive of where they go in `ScriptThread` as well as `InitialScriptState` Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Diffstat (limited to 'components/script/task_source/websocket.rs')
-rw-r--r--components/script/task_source/websocket.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/components/script/task_source/websocket.rs b/components/script/task_source/websocket.rs
index 2d05067e28b..2ae11f99eb8 100644
--- a/components/script/task_source/websocket.rs
+++ b/components/script/task_source/websocket.rs
@@ -16,7 +16,7 @@ pub struct WebsocketTaskSource(
impl Clone for WebsocketTaskSource {
fn clone(&self) -> WebsocketTaskSource {
- WebsocketTaskSource(self.0.clone(), self.1)
+ WebsocketTaskSource(self.0.as_boxed(), self.1)
}
}