mirror of
https://github.com/servo/servo.git
synced 2025-08-05 05:30:08 +01:00
Auto merge of #10106 - Ms2ger:renderer-id, r=ecoal95
Remove renderer ids. <!-- Reviewable:start --> This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10106) <!-- Reviewable:end -->
This commit is contained in:
commit
767b11cd67
8 changed files with 26 additions and 68 deletions
|
@ -62,7 +62,6 @@ enum CanvasFillOrStrokeStyle {
|
|||
#[dom_struct]
|
||||
pub struct CanvasRenderingContext2D {
|
||||
reflector_: Reflector,
|
||||
renderer_id: usize,
|
||||
#[ignore_heap_size_of = "Defined in ipc-channel"]
|
||||
ipc_renderer: IpcSender<CanvasMsg>,
|
||||
canvas: JS<HTMLCanvasElement>,
|
||||
|
@ -125,10 +124,9 @@ impl CanvasRenderingContext2D {
|
|||
let (sender, receiver) = ipc::channel().unwrap();
|
||||
let constellation_chan = global.constellation_chan();
|
||||
constellation_chan.0.send(ConstellationMsg::CreateCanvasPaintThread(size, sender)).unwrap();
|
||||
let (ipc_renderer, renderer_id) = receiver.recv().unwrap();
|
||||
let ipc_renderer = receiver.recv().unwrap();
|
||||
CanvasRenderingContext2D {
|
||||
reflector_: Reflector::new(),
|
||||
renderer_id: renderer_id,
|
||||
ipc_renderer: ipc_renderer,
|
||||
canvas: JS::from_ref(canvas),
|
||||
state: DOMRefCell::new(CanvasContextState::new()),
|
||||
|
@ -501,9 +499,6 @@ impl CanvasRenderingContext2D {
|
|||
}
|
||||
}
|
||||
|
||||
pub fn get_renderer_id(&self) -> usize {
|
||||
self.renderer_id
|
||||
}
|
||||
pub fn get_ipc_renderer(&self) -> IpcSender<CanvasMsg> {
|
||||
self.ipc_renderer.clone()
|
||||
}
|
||||
|
@ -518,17 +513,11 @@ impl CanvasRenderingContext2D {
|
|||
}
|
||||
|
||||
pub trait LayoutCanvasRenderingContext2DHelpers {
|
||||
#[allow(unsafe_code)]
|
||||
unsafe fn get_renderer_id(&self) -> usize;
|
||||
#[allow(unsafe_code)]
|
||||
unsafe fn get_ipc_renderer(&self) -> IpcSender<CanvasMsg>;
|
||||
}
|
||||
|
||||
impl LayoutCanvasRenderingContext2DHelpers for LayoutJS<CanvasRenderingContext2D> {
|
||||
#[allow(unsafe_code)]
|
||||
unsafe fn get_renderer_id(&self) -> usize {
|
||||
(*self.unsafe_get()).renderer_id
|
||||
}
|
||||
#[allow(unsafe_code)]
|
||||
unsafe fn get_ipc_renderer(&self) -> IpcSender<CanvasMsg> {
|
||||
(*self.unsafe_get()).ipc_renderer.clone()
|
||||
|
|
|
@ -94,7 +94,6 @@ impl HTMLCanvasElement {
|
|||
}
|
||||
|
||||
pub struct HTMLCanvasData {
|
||||
pub renderer_id: Option<usize>,
|
||||
pub ipc_renderer: Option<IpcSender<CanvasMsg>>,
|
||||
pub width: u32,
|
||||
pub height: u32,
|
||||
|
@ -109,22 +108,20 @@ impl LayoutHTMLCanvasElementHelpers for LayoutJS<HTMLCanvasElement> {
|
|||
fn data(&self) -> HTMLCanvasData {
|
||||
unsafe {
|
||||
let canvas = &*self.unsafe_get();
|
||||
let (renderer_id, ipc_renderer) = match canvas.context.borrow_for_layout().as_ref() {
|
||||
Some(&CanvasContext::Context2d(ref context)) => {
|
||||
let context = context.to_layout();
|
||||
(Some(context.get_renderer_id()), Some(context.get_ipc_renderer()))
|
||||
},
|
||||
Some(&CanvasContext::WebGL(ref context)) => {
|
||||
let context = context.to_layout();
|
||||
(Some(context.get_renderer_id()), Some(context.get_ipc_renderer()))
|
||||
},
|
||||
None => (None, None),
|
||||
};
|
||||
let ipc_renderer = canvas.context.borrow_for_layout().as_ref().map(|context| {
|
||||
match *context {
|
||||
CanvasContext::Context2d(ref context) => {
|
||||
context.to_layout().get_ipc_renderer()
|
||||
},
|
||||
CanvasContext::WebGL(ref context) => {
|
||||
context.to_layout().get_ipc_renderer()
|
||||
},
|
||||
}
|
||||
});
|
||||
|
||||
let width_attr = canvas.upcast::<Element>().get_attr_for_layout(&ns!(), &atom!("width"));
|
||||
let height_attr = canvas.upcast::<Element>().get_attr_for_layout(&ns!(), &atom!("height"));
|
||||
HTMLCanvasData {
|
||||
renderer_id: renderer_id,
|
||||
ipc_renderer: ipc_renderer,
|
||||
width: width_attr.map_or(DEFAULT_WIDTH, |val| val.as_uint()),
|
||||
height: height_attr.map_or(DEFAULT_HEIGHT, |val| val.as_uint()),
|
||||
|
|
|
@ -68,7 +68,6 @@ bitflags! {
|
|||
#[dom_struct]
|
||||
pub struct WebGLRenderingContext {
|
||||
reflector_: Reflector,
|
||||
renderer_id: usize,
|
||||
#[ignore_heap_size_of = "Defined in ipc-channel"]
|
||||
ipc_renderer: IpcSender<CanvasMsg>,
|
||||
canvas: JS<HTMLCanvasElement>,
|
||||
|
@ -95,10 +94,9 @@ impl WebGLRenderingContext {
|
|||
.unwrap();
|
||||
let result = receiver.recv().unwrap();
|
||||
|
||||
result.map(|(ipc_renderer, renderer_id)| {
|
||||
result.map(|ipc_renderer| {
|
||||
WebGLRenderingContext {
|
||||
reflector_: Reflector::new(),
|
||||
renderer_id: renderer_id,
|
||||
ipc_renderer: ipc_renderer,
|
||||
canvas: JS::from_ref(canvas),
|
||||
last_error: Cell::new(None),
|
||||
|
@ -1194,17 +1192,11 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext {
|
|||
}
|
||||
|
||||
pub trait LayoutCanvasWebGLRenderingContextHelpers {
|
||||
#[allow(unsafe_code)]
|
||||
unsafe fn get_renderer_id(&self) -> usize;
|
||||
#[allow(unsafe_code)]
|
||||
unsafe fn get_ipc_renderer(&self) -> IpcSender<CanvasMsg>;
|
||||
}
|
||||
|
||||
impl LayoutCanvasWebGLRenderingContextHelpers for LayoutJS<WebGLRenderingContext> {
|
||||
#[allow(unsafe_code)]
|
||||
unsafe fn get_renderer_id(&self) -> usize {
|
||||
(*self.unsafe_get()).renderer_id
|
||||
}
|
||||
#[allow(unsafe_code)]
|
||||
unsafe fn get_ipc_renderer(&self) -> IpcSender<CanvasMsg> {
|
||||
(*self.unsafe_get()).ipc_renderer.clone()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue