mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
Auto merge of #9240 - coder543:Refactoring, r=ecoal95
Refactor WebGLPaintTask to prevent creating extra IPC channels #9228 Closes #9228 I think this code will actually do what is desired now. I had to rebase off of master since WebGLPaintTask was renamed to WebGLPaintThread in a commit since last night. I'm sorry this has been so much trouble so far. I'm still learning how things are done around here. I didn't even think about trailing whitespace, but now I know about the test-tidy tool. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9240) <!-- Reviewable:end -->
This commit is contained in:
commit
6b1e73c1c0
1 changed files with 5 additions and 3 deletions
|
@ -187,10 +187,8 @@ impl WebGLPaintThread {
|
|||
/// sender for it.
|
||||
pub fn start(size: Size2D<i32>, attrs: GLContextAttributes)
|
||||
-> Result<(IpcSender<CanvasMsg>, Sender<CanvasMsg>), &'static str> {
|
||||
let (out_of_process_chan, out_of_process_port) = ipc::channel::<CanvasMsg>().unwrap();
|
||||
let (in_process_chan, in_process_port) = channel();
|
||||
let (result_chan, result_port) = channel();
|
||||
ROUTER.route_ipc_receiver_to_mpsc_sender(out_of_process_port, in_process_chan.clone());
|
||||
spawn_named("WebGLThread".to_owned(), move || {
|
||||
let mut painter = match WebGLPaintThread::new(size, attrs) {
|
||||
Ok(thread) => {
|
||||
|
@ -230,7 +228,11 @@ impl WebGLPaintThread {
|
|||
}
|
||||
});
|
||||
|
||||
result_port.recv().unwrap().map(|_| (out_of_process_chan, in_process_chan))
|
||||
result_port.recv().unwrap().map(|_| {
|
||||
let (out_of_process_chan, out_of_process_port) = ipc::channel::<CanvasMsg>().unwrap();
|
||||
ROUTER.route_ipc_receiver_to_mpsc_sender(out_of_process_port, in_process_chan.clone());
|
||||
(out_of_process_chan, in_process_chan)
|
||||
})
|
||||
}
|
||||
|
||||
#[inline]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue