compositing: Remove windowing.rs and making compositing private (#36582)

This file used to contain the `EmbedderDelegate` and `WindowMethods`
traits, but these are gone now, so we can move the one remaining enum
to be in `compositor.rs` where it is used. This change also stops
exposing the `compositing` crate as public Servo API.

Testing: This does not change behavior so is covered by existing tests.
Signed-off-by: Martin Robinson <mrobinson@igalia.com>

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
This commit is contained in:
Martin Robinson 2025-04-17 13:00:55 +02:00 committed by GitHub
parent 95ee5708fa
commit d345844ed7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 17 additions and 23 deletions

View file

@ -56,7 +56,6 @@ use webrender_api::{
use crate::InitialCompositorState;
use crate::webview::{UnknownWebView, WebView};
use crate::webview_manager::WebViewManager;
use crate::windowing::WebRenderDebugOption;
#[derive(Debug, PartialEq)]
enum UnableToComposite {
@ -78,6 +77,14 @@ enum ReadyState {
WaitingForConstellationReply,
ReadyToSaveImage,
}
/// An option to control what kind of WebRender debugging is enabled while Servo is running.
#[derive(Clone)]
pub enum WebRenderDebugOption {
Profiler,
TextureCacheDebug,
RenderTargetDebug,
}
/// Data that is shared by all WebView renderers.
pub struct ServoRenderer {
/// This is a temporary map between [`PipelineId`]s and their associated [`WebViewId`]. Once

View file

@ -16,7 +16,7 @@ use profile_traits::{mem, time};
use webrender::RenderApi;
use webrender_api::DocumentId;
pub use crate::compositor::IOCompositor;
pub use crate::compositor::{IOCompositor, WebRenderDebugOption};
#[macro_use]
mod tracing;
@ -25,7 +25,6 @@ mod compositor;
mod touch;
pub mod webview;
pub mod webview_manager;
pub mod windowing;
/// Data used to construct a compositor.
pub struct InitialCompositorState {

View file

@ -1,11 +0,0 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
/// Various debug and profiling flags that WebRender supports.
#[derive(Clone)]
pub enum WebRenderDebugOption {
Profiler,
TextureCacheDebug,
RenderTargetDebug,
}