[NFC] compositing: extract types into new compositing_traits crate (#30125)

* [NFC] compositing: extract types into new compositing_traits crate

* [NFC] compositing: move InitialCompositorState back to compositing

* [NFC] compositing: rename Msg to CompositorMsg

* [NFC] compositing: revert changes to Cargo.toml features section

* [NFC] compositing: merge imports
This commit is contained in:
Delan Azabani 2023-08-18 11:37:04 +00:00 committed by GitHub
parent 0e7c958bd5
commit b256a72448
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
16 changed files with 358 additions and 286 deletions

View file

@ -40,6 +40,7 @@ bluetooth_traits = { path = "../bluetooth_traits" }
canvas = { path = "../canvas", default-features = false }
canvas_traits = { path = "../canvas_traits" }
compositing = { path = "../compositing", features = ["gl"] }
compositing_traits = { path = "../compositing_traits" }
constellation = { path = "../constellation" }
crossbeam-channel = { workspace = true }
devtools = { path = "../devtools" }

View file

@ -68,12 +68,12 @@ use bluetooth_traits::BluetoothRequest;
use canvas::canvas_paint_thread::{self, CanvasPaintThread};
use canvas::WebGLComm;
use canvas_traits::webgl::WebGLThreads;
use compositing::compositor_thread::{
CompositorProxy, CompositorReceiver, InitialCompositorState, Msg, WebrenderCanvasMsg,
WebrenderFontMsg, WebrenderMsg,
};
use compositing::windowing::{EmbedderEvent, EmbedderMethods, WindowMethods};
use compositing::{CompositingReason, ConstellationMsg, IOCompositor, ShutdownState};
use compositing::{IOCompositor, InitialCompositorState, ShutdownState};
use compositing_traits::{
CompositingReason, CompositorMsg, CompositorProxy, CompositorReceiver, ConstellationMsg,
WebrenderCanvasMsg, WebrenderFontMsg, WebrenderMsg,
};
#[cfg(all(
not(target_os = "windows"),
not(target_os = "ios"),
@ -234,7 +234,7 @@ impl webrender_api::RenderNotifier for RenderNotifier {
) {
if scrolled {
self.compositor_proxy
.send(Msg::NewScrollFrameReady(composite_needed));
.send(CompositorMsg::NewScrollFrameReady(composite_needed));
} else {
self.wake_up();
}
@ -934,14 +934,14 @@ struct FontCacheWR(CompositorProxy);
impl gfx_traits::WebrenderApi for FontCacheWR {
fn add_font_instance(&self, font_key: FontKey, size: f32) -> FontInstanceKey {
let (sender, receiver) = unbounded();
let _ = self.0.send(Msg::Webrender(WebrenderMsg::Font(
let _ = self.0.send(CompositorMsg::Webrender(WebrenderMsg::Font(
WebrenderFontMsg::AddFontInstance(font_key, size, sender),
)));
receiver.recv().unwrap()
}
fn add_font(&self, data: gfx_traits::FontData) -> FontKey {
let (sender, receiver) = unbounded();
let _ = self.0.send(Msg::Webrender(WebrenderMsg::Font(
let _ = self.0.send(CompositorMsg::Webrender(WebrenderMsg::Font(
WebrenderFontMsg::AddFont(data, sender),
)));
receiver.recv().unwrap()
@ -954,13 +954,13 @@ struct CanvasWebrenderApi(CompositorProxy);
impl canvas_paint_thread::WebrenderApi for CanvasWebrenderApi {
fn generate_key(&self) -> Result<ImageKey, ()> {
let (sender, receiver) = unbounded();
let _ = self.0.send(Msg::Webrender(WebrenderMsg::Canvas(
let _ = self.0.send(CompositorMsg::Webrender(WebrenderMsg::Canvas(
WebrenderCanvasMsg::GenerateKey(sender),
)));
receiver.recv().map_err(|_| ())
}
fn update_images(&self, updates: Vec<canvas_paint_thread::ImageUpdate>) {
let _ = self.0.send(Msg::Webrender(WebrenderMsg::Canvas(
let _ = self.0.send(CompositorMsg::Webrender(WebrenderMsg::Canvas(
WebrenderCanvasMsg::UpdateImages(updates),
)));
}