Add disable-canvas-aa option to test runner.

This commit is contained in:
Mátyás Mustoha 2015-05-18 12:40:51 +02:00
parent adef44183d
commit 322fd5ad9d
5 changed files with 18 additions and 4 deletions

View file

@ -14,6 +14,7 @@ use geom::size::Size2D;
use layers::platform::surface::NativeSurface;
use gfx_traits::color;
use num::ToPrimitive;
use util::opts;
use util::task::spawn_named;
use util::vec::byte_swap;
@ -174,8 +175,14 @@ struct CanvasPaintState<'a> {
impl<'a> CanvasPaintState<'a> {
fn new() -> CanvasPaintState<'a> {
let antialias = if opts::get().enable_canvas_antialiasing {
AntialiasMode::Default
} else {
AntialiasMode::None
};
CanvasPaintState {
draw_options: DrawOptions::default(),
draw_options: DrawOptions::new(1.0, CompositionOp::Over, antialias),
fill_style: Pattern::Color(ColorPattern::new(color::black())),
stroke_style: Pattern::Color(ColorPattern::new(color::black())),
stroke_opts: StrokeOptions::new(1.0, JoinStyle::MiterOrBevel, CapStyle::Butt, 10.0, &[]),

View file

@ -99,6 +99,10 @@ pub struct Opts {
/// font for layout tests.
pub enable_text_antialiasing: bool,
/// If set with --disable-canvas-aa, disable antialiasing on the HTML canvas element.
/// Like --disable-text-aa, this is useful for reftests where pixel perfect results are required.
pub enable_canvas_antialiasing: bool,
/// True if each step of layout is traced to an external JSON file
/// for debugging purposes. Settings this implies sequential layout
/// and paint.
@ -220,6 +224,7 @@ pub fn default_opts() -> Opts {
show_debug_parallel_layout: false,
paint_flashing: false,
enable_text_antialiasing: false,
enable_canvas_antialiasing: false,
trace_layout: false,
devtools_port: None,
webdriver_port: None,
@ -398,6 +403,7 @@ pub fn from_cmdline_args(args: &[String]) -> bool {
show_debug_parallel_layout: debug_options.contains(&"show-parallel-layout"),
paint_flashing: debug_options.contains(&"paint-flashing"),
enable_text_antialiasing: !debug_options.contains(&"disable-text-aa"),
enable_canvas_antialiasing: !debug_options.contains(&"disable-canvas-aa"),
dump_flow_tree: debug_options.contains(&"dump-flow-tree"),
dump_display_list: debug_options.contains(&"dump-display-list"),
dump_display_list_optimized: debug_options.contains(&"dump-display-list-optimized"),