canvas: Remove Backend trait (#38262)

After #38214 `Backend` trait is only used as DrawTarget builder and as
type holder. By moving types and DrawTarget creation into
`GenericDrawTarget` trait, we can completely remove `Backend` trait.

Testing: Just refactor, but code is covered by WPT tests.

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
This commit is contained in:
sagudev 2025-07-25 14:05:03 +02:00 committed by GitHub
parent 5cd57f9dba
commit 420a5a64a7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 46 additions and 77 deletions

View file

@ -23,7 +23,6 @@ use pixels::Snapshot;
use webrender_api::ImageKey;
use crate::canvas_data::*;
use crate::raqote_backend::RaqoteBackend;
pub struct CanvasPaintThread {
canvases: HashMap<CanvasId, Canvas>,
@ -120,12 +119,8 @@ impl CanvasPaintThread {
let canvas_id = self.next_canvas_id;
self.next_canvas_id.0 += 1;
let canvas_data = CanvasData::new(
size,
self.compositor_api.clone(),
self.font_context.clone(),
RaqoteBackend,
);
let canvas_data =
CanvasData::new(size, self.compositor_api.clone(), self.font_context.clone());
let image_key = canvas_data.image_key();
self.canvases.insert(canvas_id, Canvas::Raqote(canvas_data));
@ -301,7 +296,7 @@ impl CanvasPaintThread {
}
enum Canvas {
Raqote(CanvasData<RaqoteBackend>),
Raqote(CanvasData<raqote::DrawTarget>),
}
impl Canvas {