mirror of
https://github.com/servo/servo.git
synced 2025-07-24 15:50:21 +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 offscreen_gl_context::GLContextAttributes;
|
||||||
use std::cell::Cell;
|
use std::cell::Cell;
|
||||||
use std::default::Default;
|
use std::default::Default;
|
||||||
|
use std::iter::repeat;
|
||||||
use util::str::{DOMString, parse_unsigned_integer};
|
use util::str::{DOMString, parse_unsigned_integer};
|
||||||
|
|
||||||
const DEFAULT_WIDTH: u32 = 300;
|
const DEFAULT_WIDTH: u32 = 300;
|
||||||
|
@ -213,17 +214,16 @@ impl HTMLCanvasElement {
|
||||||
return None
|
return None
|
||||||
}
|
}
|
||||||
|
|
||||||
let renderer = match self.ipc_renderer() {
|
let data = if let Some(renderer) = self.ipc_renderer() {
|
||||||
Some(renderer) => renderer,
|
let (sender, receiver) = ipc::channel().unwrap();
|
||||||
None => return None,
|
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))
|
Some((data, size))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue