mirror of
https://github.com/servo/servo.git
synced 2025-07-23 07:13:52 +01:00
script: Return a white bitmap if the canvas has a size but no context
This commit is contained in:
parent
d12dbf94f2
commit
90775a7595
1 changed files with 9 additions and 9 deletions
|
@ -27,6 +27,7 @@ use js::jsapi::{HandleValue, JSContext};
|
|||
use offscreen_gl_context::GLContextAttributes;
|
||||
use std::cell::Cell;
|
||||
use std::default::Default;
|
||||
use std::iter::repeat;
|
||||
use util::str::{DOMString, parse_unsigned_integer};
|
||||
|
||||
const DEFAULT_WIDTH: u32 = 300;
|
||||
|
@ -213,17 +214,16 @@ impl HTMLCanvasElement {
|
|||
return None
|
||||
}
|
||||
|
||||
let renderer = match self.ipc_renderer() {
|
||||
Some(renderer) => renderer,
|
||||
None => return None,
|
||||
let data = if let Some(renderer) = self.ipc_renderer() {
|
||||
let (sender, receiver) = ipc::channel().unwrap();
|
||||
let msg = CanvasMsg::FromLayout(FromLayoutMsg::SendPixelContents(sender));
|
||||
renderer.send(msg).unwrap();
|
||||
|
||||
receiver.recv().unwrap().to_vec()
|
||||
} else {
|
||||
repeat(0xffu8).take((size.height as usize) * (size.width as usize) * 4).collect()
|
||||
};
|
||||
|
||||
let (sender, receiver) = ipc::channel().unwrap();
|
||||
let msg = CanvasMsg::FromLayout(FromLayoutMsg::SendPixelContents(sender));
|
||||
renderer.send(msg).unwrap();
|
||||
|
||||
let data = receiver.recv().unwrap().to_vec();
|
||||
|
||||
Some((data, size))
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue