Use IpcBytesReceiver to send Display list data

This commit is contained in:
Wu Yu Wei 2022-03-10 17:51:53 +08:00
parent 34b3dafab8
commit 2cffbd7527
2 changed files with 28 additions and 20 deletions

View file

@ -626,25 +626,28 @@ impl<Window: WindowMethods + ?Sized> IOCompositor<Window> {
size,
pipeline,
size2,
data,
receiver,
descriptor,
)) => {
self.waiting_on_pending_frame = true;
let mut txn = webrender_api::Transaction::new();
txn.set_display_list(
epoch,
None,
size,
(
pipeline,
size2,
webrender_api::BuiltDisplayList::from_data(data, descriptor),
),
true,
);
txn.generate_frame();
self.webrender_api
.send_transaction(self.webrender_document, txn);
)) => match receiver.recv() {
Ok(data) => {
self.waiting_on_pending_frame = true;
let mut txn = webrender_api::Transaction::new();
txn.set_display_list(
epoch,
None,
size,
(
pipeline,
size2,
webrender_api::BuiltDisplayList::from_data(data, descriptor),
),
true,
);
txn.generate_frame();
self.webrender_api
.send_transaction(self.webrender_document, txn);
},
Err(e) => warn!("error receiving display data: {:?}", e),
},
WebrenderMsg::Layout(script_traits::WebrenderMsg::HitTest(