aboutsummaryrefslogtreecommitdiffstats
path: root/components
diff options
context:
space:
mode:
Diffstat (limited to 'components')
-rw-r--r--components/canvas/canvas_paint_thread.rs15
-rw-r--r--components/constellation/constellation.rs3
2 files changed, 10 insertions, 8 deletions
diff --git a/components/canvas/canvas_paint_thread.rs b/components/canvas/canvas_paint_thread.rs
index 23989a45f18..2eeb827d73c 100644
--- a/components/canvas/canvas_paint_thread.rs
+++ b/components/canvas/canvas_paint_thread.rs
@@ -17,7 +17,6 @@ use ipc_channel::ipc::{self, IpcSender};
use num_traits::ToPrimitive;
use std::borrow::ToOwned;
use std::mem;
-use util::opts;
use util::thread::spawn_named;
use webrender_traits;
@@ -78,8 +77,8 @@ struct CanvasPaintState<'a> {
}
impl<'a> CanvasPaintState<'a> {
- fn new() -> CanvasPaintState<'a> {
- let antialias = if opts::get().enable_canvas_antialiasing {
+ fn new(antialias: bool) -> CanvasPaintState<'a> {
+ let antialias = if antialias {
AntialiasMode::Default
} else {
AntialiasMode::None
@@ -101,7 +100,8 @@ impl<'a> CanvasPaintState<'a> {
impl<'a> CanvasPaintThread<'a> {
fn new(size: Size2D<i32>,
- webrender_api_sender: Option<webrender_traits::RenderApiSender>) -> CanvasPaintThread<'a> {
+ webrender_api_sender: Option<webrender_traits::RenderApiSender>,
+ antialias: bool) -> CanvasPaintThread<'a> {
let draw_target = CanvasPaintThread::create(size);
let path_builder = draw_target.create_path_builder();
let webrender_api = webrender_api_sender.map(|wr| wr.create_api());
@@ -109,7 +109,7 @@ impl<'a> CanvasPaintThread<'a> {
CanvasPaintThread {
drawtarget: draw_target,
path_builder: path_builder,
- state: CanvasPaintState::new(),
+ state: CanvasPaintState::new(antialias),
saved_states: vec![],
webrender_api: webrender_api,
webrender_image_key: webrender_image_key,
@@ -119,11 +119,12 @@ impl<'a> CanvasPaintThread<'a> {
/// Creates a new `CanvasPaintThread` and returns an `IpcSender` to
/// communicate with it.
pub fn start(size: Size2D<i32>,
- webrender_api_sender: Option<webrender_traits::RenderApiSender>)
+ webrender_api_sender: Option<webrender_traits::RenderApiSender>,
+ antialias: bool)
-> IpcSender<CanvasMsg> {
let (sender, receiver) = ipc::channel::<CanvasMsg>().unwrap();
spawn_named("CanvasThread".to_owned(), move || {
- let mut painter = CanvasPaintThread::new(size, webrender_api_sender);
+ let mut painter = CanvasPaintThread::new(size, webrender_api_sender, antialias);
loop {
let msg = receiver.recv();
match msg.unwrap() {
diff --git a/components/constellation/constellation.rs b/components/constellation/constellation.rs
index b03ad1c0d79..0aba313864b 100644
--- a/components/constellation/constellation.rs
+++ b/components/constellation/constellation.rs
@@ -1750,7 +1750,8 @@ impl<Message, LTF, STF> Constellation<Message, LTF, STF>
size: &Size2D<i32>,
response_sender: IpcSender<IpcSender<CanvasMsg>>) {
let webrender_api = self.webrender_api_sender.clone();
- let sender = CanvasPaintThread::start(*size, webrender_api);
+ let sender = CanvasPaintThread::start(*size, webrender_api,
+ opts::get().enable_canvas_antialiasing);
if let Err(e) = response_sender.send(sender) {
warn!("Create canvas paint thread response failed ({})", e);
}