diff options
author | Martin Robinson <mrobinson@igalia.com> | 2024-12-26 04:34:54 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-12-26 03:34:54 +0000 |
commit | 5f927a2c285c779b631ba36520904189ebd5cd4c (patch) | |
tree | fd9326f2f730fad0ced85c9f8765aa866fba95e5 /components/script/task_source/websocket.rs | |
parent | 1e95712772284e434ab8f4c028d6cf78d2f63e1c (diff) | |
download | servo-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.rs | 2 |
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) } } |