diff options
author | Alan Jeffrey <ajeffrey@mozilla.com> | 2017-07-24 17:32:54 -0500 |
---|---|---|
committer | Alan Jeffrey <ajeffrey@mozilla.com> | 2017-07-24 17:32:54 -0500 |
commit | a8da777fd1083f0315cb2d4b4319e258e46eaa7b (patch) | |
tree | 24ac6cc32b768645ecff846637383e65c3f51aa1 | |
parent | 3629efba7508bf115ad0127d2567af7090a9f8ca (diff) | |
download | servo-a8da777fd1083f0315cb2d4b4319e258e46eaa7b.tar.gz servo-a8da777fd1083f0315cb2d4b4319e258e46eaa7b.zip |
Use CSS background-size property when computing the size of a paint worklet.
4 files changed, 11 insertions, 13 deletions
diff --git a/components/layout/display_list_builder.rs b/components/layout/display_list_builder.rs index f585d32eb8e..32daca0525c 100644 --- a/components/layout/display_list_builder.rs +++ b/components/layout/display_list_builder.rs @@ -1171,7 +1171,17 @@ impl FragmentDisplayListBuilding for Fragment { // https://github.com/w3c/css-houdini-drafts/issues/417 let unbordered_box = self.border_box - style.logical_border_width(); let device_pixel_ratio = state.layout_context.style_context.device_pixel_ratio(); - let size_in_au = unbordered_box.size.to_physical(style.writing_mode); + let unbordered_box_size_in_au = unbordered_box.size.to_physical(style.writing_mode); + let background_size = get_cyclic(&style.get_background().background_size.0, index).clone(); + let size_in_au = match background_size { + BackgroundSize::Explicit { width, height } => { + Size2D::new(MaybeAuto::from_style(width, unbordered_box_size_in_au.width) + .specified_or_default(unbordered_box_size_in_au.width), + MaybeAuto::from_style(height, unbordered_box_size_in_au.height) + .specified_or_default(unbordered_box_size_in_au.height)) + }, + _ => unbordered_box_size_in_au, + }; let size_in_px = TypedSize2D::new(size_in_au.width.to_f32_px(), size_in_au.height.to_f32_px()); let name = paint_worklet.name.clone(); diff --git a/tests/wpt/mozilla/meta/mozilla/css-paint-api/geometry-background-image-tiled-001.html.ini b/tests/wpt/mozilla/meta/mozilla/css-paint-api/geometry-background-image-tiled-001.html.ini deleted file mode 100644 index cf86621733e..00000000000 --- a/tests/wpt/mozilla/meta/mozilla/css-paint-api/geometry-background-image-tiled-001.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[geometry-background-image-tiled-001.html] - type: reftest - expected: FAIL - bug: https://github.com/servo/servo/issues/17676 diff --git a/tests/wpt/mozilla/meta/mozilla/css-paint-api/geometry-background-image-tiled-002.html.ini b/tests/wpt/mozilla/meta/mozilla/css-paint-api/geometry-background-image-tiled-002.html.ini deleted file mode 100644 index f6665701f42..00000000000 --- a/tests/wpt/mozilla/meta/mozilla/css-paint-api/geometry-background-image-tiled-002.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[geometry-background-image-tiled-002.html] - type: reftest - expected: FAIL - bug: https://github.com/servo/servo/issues/1767 diff --git a/tests/wpt/mozilla/meta/mozilla/css-paint-api/geometry-background-image-tiled-003.html.ini b/tests/wpt/mozilla/meta/mozilla/css-paint-api/geometry-background-image-tiled-003.html.ini deleted file mode 100644 index 6d63994f2c6..00000000000 --- a/tests/wpt/mozilla/meta/mozilla/css-paint-api/geometry-background-image-tiled-003.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[geometry-background-image-tiled-003.html] - type: reftest - expected: FAIL - bug: https://github.com/servo/servo/issues/1767 |