Bug 1589198 - Snap the picture's precise local rect the same as the estimated local rect. r=kvark

Differential Revision: https://phabricator.services.mozilla.com/D53243

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Andrew Osmond 2019-11-27 20:12:32 +00:00
Родитель a6a78ce682
Коммит b199ff482d
4 изменённых файлов: 17 добавлений и 3 удалений

Просмотреть файл

@ -4283,7 +4283,9 @@ impl PicturePrimitive {
// The picture's local rect is calculated as the union of the
// snapped primitive rects, which should result in a snapped
// local rect, unless it was inflated.
// local rect, unless it was inflated. This is also done during
// update visibility when calculating the picture's precise
// local rect.
let snap_surface_to_raster = SpaceSnapper::new_with_target(
surface.raster_spatial_node_index,
self.spatial_node_index,

Просмотреть файл

@ -2311,7 +2311,19 @@ impl PrimitiveStore {
// Inflate the local bounding rect if required by the filter effect.
// This inflaction factor is to be applied to the surface itself.
if pic.options.inflate_if_required {
// The picture's local rect is calculated as the union of the
// snapped primitive rects, which should result in a snapped
// local rect, unless it was inflated. This is also done during
// surface configuration when calculating the picture's
// estimated local rect.
let snap_pic_to_raster = SpaceSnapper::new_with_target(
surface.raster_spatial_node_index,
pic.spatial_node_index,
surface.device_pixel_scale,
frame_context.clip_scroll_tree,
);
surface_rect = rc.composite_mode.inflate_picture_rect(surface_rect, surface.inflation_factor);
surface_rect = snap_pic_to_raster.snap_rect(&surface_rect);
}
// Layout space for the picture is picture space from the

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 19 KiB

После

Ширина:  |  Высота:  |  Размер: 19 KiB

Просмотреть файл

@ -83,8 +83,8 @@ fails == filter-marked-line-01.svg pass.svg # bug 477704
== filter-marked-line-07.svg pass.svg
== filter-marked-line-08.svg pass.svg
== filter-marked-line-09.svg pass.svg
fuzzy-if(webrender&&cocoaWidget,0-1,0-1) == filter-nested-filtering-01.svg pass.svg
fuzzy-if(webrender&&cocoaWidget,1-1,2-3) == filter-nested-filtering-02.svg pass.svg
== filter-nested-filtering-01.svg pass.svg
== filter-nested-filtering-02.svg pass.svg
== filter-patterned-rect-01.svg pass.svg
== filter-patterned-rect-02.svg pass.svg
== filter-region-01a.html pass.svg