mirror of
https://github.com/servo/servo.git
synced 2025-09-14 17:08:22 +01:00
Fixed scaling artefacts in paint worklets caused by zoom and hidpi.
This commit is contained in:
parent
e19fefcb47
commit
caa3585219
24 changed files with 160 additions and 77 deletions
|
@ -3,6 +3,7 @@
|
|||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
use cssparser::{Parser, ParserInput};
|
||||
use euclid::ScaleFactor;
|
||||
use euclid::TypedSize2D;
|
||||
use media_queries::CSSErrorReporterTest;
|
||||
use servo_arc::Arc;
|
||||
|
@ -96,7 +97,7 @@ macro_rules! viewport_length {
|
|||
|
||||
#[test]
|
||||
fn empty_viewport_rule() {
|
||||
let device = Device::new(MediaType::Screen, TypedSize2D::new(800., 600.));
|
||||
let device = Device::new(MediaType::Screen, TypedSize2D::new(800., 600.), ScaleFactor::new(1.0));
|
||||
|
||||
test_viewport_rule("@viewport {}", &device, |declarations, css| {
|
||||
println!("{}", css);
|
||||
|
@ -119,7 +120,7 @@ macro_rules! assert_decl_eq {
|
|||
|
||||
#[test]
|
||||
fn simple_viewport_rules() {
|
||||
let device = Device::new(MediaType::Screen, TypedSize2D::new(800., 600.));
|
||||
let device = Device::new(MediaType::Screen, TypedSize2D::new(800., 600.), ScaleFactor::new(1.0));
|
||||
|
||||
test_viewport_rule("@viewport { width: auto; height: auto;\
|
||||
zoom: auto; min-zoom: 0; max-zoom: 200%;\
|
||||
|
@ -191,7 +192,7 @@ fn simple_meta_viewport_contents() {
|
|||
|
||||
#[test]
|
||||
fn cascading_within_viewport_rule() {
|
||||
let device = Device::new(MediaType::Screen, TypedSize2D::new(800., 600.));
|
||||
let device = Device::new(MediaType::Screen, TypedSize2D::new(800., 600.), ScaleFactor::new(1.0));
|
||||
|
||||
// normal order of appearance
|
||||
test_viewport_rule("@viewport { min-width: 200px; min-width: auto; }",
|
||||
|
@ -257,7 +258,7 @@ fn cascading_within_viewport_rule() {
|
|||
#[test]
|
||||
fn multiple_stylesheets_cascading() {
|
||||
PREFS.set("layout.viewport.enabled", PrefValue::Boolean(true));
|
||||
let device = Device::new(MediaType::Screen, TypedSize2D::new(800., 600.));
|
||||
let device = Device::new(MediaType::Screen, TypedSize2D::new(800., 600.), ScaleFactor::new(1.0));
|
||||
let error_reporter = CSSErrorReporterTest;
|
||||
let shared_lock = SharedRwLock::new();
|
||||
let stylesheets = vec![
|
||||
|
@ -313,7 +314,7 @@ fn constrain_viewport() {
|
|||
}
|
||||
|
||||
let initial_viewport = TypedSize2D::new(800., 600.);
|
||||
let device = Device::new(MediaType::Screen, initial_viewport);
|
||||
let device = Device::new(MediaType::Screen, initial_viewport, ScaleFactor::new(1.0));
|
||||
let mut input = ParserInput::new("");
|
||||
assert_eq!(ViewportConstraints::maybe_new(&device, from_css!(input), QuirksMode::NoQuirks), None);
|
||||
|
||||
|
@ -362,7 +363,7 @@ fn constrain_viewport() {
|
|||
}));
|
||||
|
||||
let initial_viewport = TypedSize2D::new(200., 150.);
|
||||
let device = Device::new(MediaType::Screen, initial_viewport);
|
||||
let device = Device::new(MediaType::Screen, initial_viewport, ScaleFactor::new(1.0));
|
||||
let mut input = ParserInput::new("width: 320px auto");
|
||||
assert_eq!(ViewportConstraints::maybe_new(&device, from_css!(input), QuirksMode::NoQuirks),
|
||||
Some(ViewportConstraints {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue