-
-
Notifications
You must be signed in to change notification settings - Fork 3.5k
Closed
Labels
A-webrenderB-interesting-projectRepresents work that is expected to be interesting in some fashionRepresents work that is expected to be interesting in some fashionI-refactorNo impact; the issue is one of maintainability or tidiness. Proposed solution requires refactoring.No impact; the issue is one of maintainability or tidiness. Proposed solution requires refactoring.
Description
The goal of this work is to remove all references to the ipc-channel crate from WebRender and move all IPC usage into the calling code in Servo instead. This will require a few parts:
- replace all uses of IPC channels in WebRender with std::mpsc channels instead
- use the modified version of WebRender in Servo
- create an IPC channel that is stored in Constellation which is used for cross-process communication with WebRender
- create a new type like webrender_api::RenderApiSender that uses an IPC channel to pass the messages to the parent
- make the IPC channel route the messages to the in-process webrender_api::RenderApiSender
Code: components/layout_thread/lib.rs, components/layout_traits/lib.rs, components/constellation/constellation.rs, components/constellation/pipeline.rs
To consider the task complete, it should be enough to demonstrate that ./mach run tests/html/about-blank.html still renders a page after the changes are made.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
A-webrenderB-interesting-projectRepresents work that is expected to be interesting in some fashionRepresents work that is expected to be interesting in some fashionI-refactorNo impact; the issue is one of maintainability or tidiness. Proposed solution requires refactoring.No impact; the issue is one of maintainability or tidiness. Proposed solution requires refactoring.