[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

@ -15,7 +15,7 @@ background_hang_monitor = { path = "../background_hang_monitor" }
backtrace = { workspace = true }
bluetooth_traits = { path = "../bluetooth_traits" }
canvas_traits = { path = "../canvas_traits" }
compositing = { path = "../compositing" }
compositing_traits = { path = "../compositing_traits" }
crossbeam-channel = { workspace = true }
devtools_traits = { path = "../devtools_traits" }
embedder_traits = { path = "../embedder_traits" }

View file

@ -106,10 +106,10 @@ use bluetooth_traits::BluetoothRequest;
use canvas_traits::canvas::{CanvasId, CanvasMsg};
use canvas_traits::webgl::WebGLThreads;
use canvas_traits::ConstellationCanvasMsg;
use compositing::compositor_thread::CompositorProxy;
use compositing::compositor_thread::Msg as ToCompositorMsg;
use compositing::compositor_thread::WebrenderMsg;
use compositing::{ConstellationMsg as FromCompositorMsg, SendableFrameTree};
use compositing_traits::{
CompositorMsg, CompositorProxy, ConstellationMsg as FromCompositorMsg, SendableFrameTree,
WebrenderMsg,
};
use crossbeam_channel::{after, never, unbounded, Receiver, Sender};
use devtools_traits::{
ChromeToDevtoolsControlMsg, DevtoolsControlMsg, DevtoolsPageInfo, NavigationState,
@ -724,7 +724,7 @@ where
ROUTER.add_route(
webrender_ipc_receiver.to_opaque(),
Box::new(move |message| {
let _ = compositor_proxy.send(ToCompositorMsg::Webrender(
let _ = compositor_proxy.send(CompositorMsg::Webrender(
WebrenderMsg::Layout(message.to().expect("conversion failure")),
));
}),
@ -734,9 +734,9 @@ where
ROUTER.add_route(
webrender_image_ipc_receiver.to_opaque(),
Box::new(move |message| {
let _ = compositor_proxy.send(ToCompositorMsg::Webrender(
WebrenderMsg::Net(message.to().expect("conversion failure")),
));
let _ = compositor_proxy.send(CompositorMsg::Webrender(WebrenderMsg::Net(
message.to().expect("conversion failure"),
)));
}),
);
@ -1467,7 +1467,7 @@ where
}
let is_ready = is_ready == ReadyToSave::Ready;
self.compositor_proxy
.send(ToCompositorMsg::IsReadyToSaveImageReply(is_ready));
.send(CompositorMsg::IsReadyToSaveImageReply(is_ready));
if self.is_running_problem_test {
println!("sent response");
}
@ -1735,22 +1735,22 @@ where
},
FromScriptMsg::GetClientWindow(response_sender) => {
self.compositor_proxy
.send(ToCompositorMsg::GetClientWindow(response_sender));
.send(CompositorMsg::GetClientWindow(response_sender));
},
FromScriptMsg::GetScreenSize(response_sender) => {
self.compositor_proxy
.send(ToCompositorMsg::GetScreenSize(response_sender));
.send(CompositorMsg::GetScreenSize(response_sender));
},
FromScriptMsg::GetScreenAvailSize(response_sender) => {
self.compositor_proxy
.send(ToCompositorMsg::GetScreenAvailSize(response_sender));
.send(CompositorMsg::GetScreenAvailSize(response_sender));
},
FromScriptMsg::LogEntry(thread_name, entry) => {
self.handle_log_entry(Some(source_top_ctx_id), thread_name, entry);
},
FromScriptMsg::TouchEventProcessed(result) => self
.compositor_proxy
.send(ToCompositorMsg::TouchEventProcessed(result)),
.send(CompositorMsg::TouchEventProcessed(result)),
FromScriptMsg::GetBrowsingContextInfo(pipeline_id, response_sender) => {
let result = self
.pipelines
@ -2734,8 +2734,7 @@ where
}
debug!("Asking compositor to complete shutdown.");
self.compositor_proxy
.send(ToCompositorMsg::ShutdownComplete);
self.compositor_proxy.send(CompositorMsg::ShutdownComplete);
debug!("Shutting-down IPC router thread in constellation.");
ROUTER.shutdown();
@ -3344,7 +3343,7 @@ where
fn handle_pending_paint_metric(&self, pipeline_id: PipelineId, epoch: Epoch) {
self.compositor_proxy
.send(ToCompositorMsg::PendingPaintMetric(pipeline_id, epoch))
.send(CompositorMsg::PendingPaintMetric(pipeline_id, epoch))
}
fn handle_set_cursor_msg(&mut self, cursor: Cursor) {
@ -3361,7 +3360,7 @@ where
if pipeline.animation_state != animation_state {
pipeline.animation_state = animation_state;
self.compositor_proxy
.send(ToCompositorMsg::ChangeRunningAnimationsState(
.send(CompositorMsg::ChangeRunningAnimationsState(
pipeline_id,
animation_state,
))
@ -3598,7 +3597,7 @@ where
if !current_top_level_pipeline_will_be_replaced {
// Notify embedder and compositor top level document finished loading.
self.compositor_proxy
.send(ToCompositorMsg::LoadComplete(top_level_browsing_context_id));
.send(CompositorMsg::LoadComplete(top_level_browsing_context_id));
}
} else {
self.handle_subframe_loaded(pipeline_id);
@ -4435,7 +4434,7 @@ where
},
WebDriverCommandMsg::MouseButtonAction(mouse_event_type, mouse_button, x, y) => {
self.compositor_proxy
.send(ToCompositorMsg::WebDriverMouseButtonEvent(
.send(CompositorMsg::WebDriverMouseButtonEvent(
mouse_event_type,
mouse_button,
x,
@ -4444,11 +4443,11 @@ where
},
WebDriverCommandMsg::MouseMoveAction(x, y) => {
self.compositor_proxy
.send(ToCompositorMsg::WebDriverMouseMoveEvent(x, y));
.send(CompositorMsg::WebDriverMouseMoveEvent(x, y));
},
WebDriverCommandMsg::TakeScreenshot(_, rect, response_sender) => {
self.compositor_proxy
.send(ToCompositorMsg::CreatePng(rect, response_sender));
.send(CompositorMsg::CreatePng(rect, response_sender));
},
}
}
@ -5454,7 +5453,7 @@ where
);
self.active_browser_id = Some(top_level_browsing_context_id);
self.compositor_proxy
.send(ToCompositorMsg::SetFrameTree(frame_tree));
.send(CompositorMsg::SetFrameTree(frame_tree));
}
}

View file

@ -3,7 +3,7 @@
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
use backtrace::Backtrace;
use compositing::ConstellationMsg as FromCompositorMsg;
use compositing_traits::ConstellationMsg as FromCompositorMsg;
use crossbeam_channel::Sender;
use log::{Level, LevelFilter, Log, Metadata, Record};
use msg::constellation_msg::TopLevelBrowsingContextId;

View file

@ -7,9 +7,9 @@ use crate::sandboxing::{spawn_multiprocess, UnprivilegedContent};
use background_hang_monitor::HangMonitorRegister;
use bluetooth_traits::BluetoothRequest;
use canvas_traits::webgl::WebGLPipeline;
use compositing::compositor_thread::Msg as CompositorMsg;
use compositing::CompositionPipeline;
use compositing::CompositorProxy;
use compositing_traits::CompositionPipeline;
use compositing_traits::CompositorMsg;
use compositing_traits::CompositorProxy;
use crossbeam_channel::{unbounded, Sender};
use devtools_traits::{DevtoolsControlMsg, ScriptToDevtoolsControlMsg};
use embedder_traits::EventLoopWaker;