aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--components/script/dom/canvasrenderingcontext2d.rs4
-rw-r--r--components/script/dom/htmlcanvaselement.rs15
-rw-r--r--components/script/dom/offscreencanvas.rs12
-rw-r--r--components/script/dom/offscreencanvasrenderingcontext2d.rs12
4 files changed, 7 insertions, 36 deletions
diff --git a/components/script/dom/canvasrenderingcontext2d.rs b/components/script/dom/canvasrenderingcontext2d.rs
index 2801a4f4ce5..37da7703e08 100644
--- a/components/script/dom/canvasrenderingcontext2d.rs
+++ b/components/script/dom/canvasrenderingcontext2d.rs
@@ -117,10 +117,6 @@ impl CanvasRenderingContext2D {
let msg = CanvasMsg::FromLayout(FromLayoutMsg::SendData(sender), self.get_canvas_id());
let _ = self.canvas_state.get_ipc_renderer().send(msg);
}
-
- pub(crate) fn get_ipc_renderer(&self) -> IpcSender<CanvasMsg> {
- self.canvas_state.get_ipc_renderer().clone()
- }
}
pub(crate) trait LayoutCanvasRenderingContext2DHelpers {
diff --git a/components/script/dom/htmlcanvaselement.rs b/components/script/dom/htmlcanvaselement.rs
index a6bd0eb17b0..05b3c9f90d9 100644
--- a/components/script/dom/htmlcanvaselement.rs
+++ b/components/script/dom/htmlcanvaselement.rs
@@ -6,7 +6,7 @@ use std::cell::{Cell, RefCell};
use std::collections::HashMap;
use std::rc::Rc;
-use canvas_traits::canvas::{CanvasId, CanvasMsg, FromScriptMsg};
+use canvas_traits::canvas::CanvasId;
use canvas_traits::webgl::{GLContextAttributes, WebGLVersion};
use dom_struct::dom_struct;
use euclid::default::Size2D;
@@ -20,7 +20,6 @@ use ipc_channel::ipc::IpcSharedMemory;
use ipc_channel::ipc::{self as ipcchan};
use js::error::throw_type_error;
use js::rust::{HandleObject, HandleValue};
-use profile_traits::ipc;
use script_layout_interface::{HTMLCanvasData, HTMLCanvasDataSource};
use script_traits::serializable::BlobImpl;
#[cfg(feature = "webgpu")]
@@ -401,17 +400,7 @@ impl HTMLCanvasElement {
},
#[cfg(feature = "webgpu")]
Some(CanvasContext::WebGPU(context)) => context.get_image_data_as_shared_memory(),
- Some(CanvasContext::Placeholder(context)) => {
- let (sender, receiver) =
- ipc::channel(self.global().time_profiler_chan().clone()).unwrap();
- let msg = CanvasMsg::FromScript(
- FromScriptMsg::SendPixels(sender),
- context.get_canvas_id(),
- );
- context.get_ipc_renderer().send(msg).unwrap();
-
- Some(receiver.recv().unwrap())
- },
+ Some(CanvasContext::Placeholder(context)) => context.get_image_data_as_shared_memory(),
None => None,
};
diff --git a/components/script/dom/offscreencanvas.rs b/components/script/dom/offscreencanvas.rs
index 7476d5edaca..9c31a7e31e7 100644
--- a/components/script/dom/offscreencanvas.rs
+++ b/components/script/dom/offscreencanvas.rs
@@ -4,12 +4,10 @@
use std::cell::Cell;
-use canvas_traits::canvas::{CanvasMsg, FromScriptMsg};
use dom_struct::dom_struct;
use euclid::default::Size2D;
use ipc_channel::ipc::IpcSharedMemory;
use js::rust::{HandleObject, HandleValue};
-use profile_traits::ipc;
use crate::dom::bindings::cell::{ref_filter_map, DomRefCell, Ref};
use crate::dom::bindings::codegen::Bindings::OffscreenCanvasBinding::{
@@ -99,15 +97,7 @@ impl OffscreenCanvas {
let data = match self.context.borrow().as_ref() {
Some(OffscreenCanvasContext::OffscreenContext2d(context)) => {
- let (sender, receiver) =
- ipc::channel(self.global().time_profiler_chan().clone()).unwrap();
- let msg = CanvasMsg::FromScript(
- FromScriptMsg::SendPixels(sender),
- context.get_canvas_id(),
- );
- context.get_ipc_renderer().send(msg).unwrap();
-
- Some(receiver.recv().unwrap())
+ context.get_image_data_as_shared_memory()
},
None => None,
};
diff --git a/components/script/dom/offscreencanvasrenderingcontext2d.rs b/components/script/dom/offscreencanvasrenderingcontext2d.rs
index e5a9ef3cf7c..67a4db61b35 100644
--- a/components/script/dom/offscreencanvasrenderingcontext2d.rs
+++ b/components/script/dom/offscreencanvasrenderingcontext2d.rs
@@ -5,10 +5,10 @@
use crate::dom::bindings::codegen::GenericBindings::CanvasRenderingContext2DBinding::CanvasRenderingContext2D_Binding::CanvasRenderingContext2DMethods;
use crate::canvas_context::CanvasContext as _;
use crate::dom::bindings::codegen::UnionTypes::HTMLCanvasElementOrOffscreenCanvas;
-use canvas_traits::canvas::{Canvas2dMsg, CanvasId, CanvasMsg};
+use canvas_traits::canvas::Canvas2dMsg;
use dom_struct::dom_struct;
use euclid::default::Size2D;
-use ipc_channel::ipc::IpcSender;
+use ipc_channel::ipc::IpcSharedMemory;
use crate::dom::bindings::codegen::Bindings::CanvasRenderingContext2DBinding::{
CanvasDirection, CanvasFillRule, CanvasImageSource, CanvasLineCap, CanvasLineJoin,
@@ -75,12 +75,8 @@ impl OffscreenCanvasRenderingContext2D {
self.context.origin_is_clean()
}
- pub(crate) fn get_canvas_id(&self) -> CanvasId {
- self.context.get_canvas_id()
- }
-
- pub(crate) fn get_ipc_renderer(&self) -> IpcSender<CanvasMsg> {
- self.context.get_ipc_renderer()
+ pub(crate) fn get_image_data_as_shared_memory(&self) -> Option<IpcSharedMemory> {
+ self.context.get_image_data_as_shared_memory()
}
}