[go: up one dir, main page]

Remove expansion of backdrop-filter input for pixel-moving filters

See [1] for the PR for the spec change. Essentially, with this CL,
the input to the filter will be the bounding box of the element
with backdrop-filter. The bounds will not be expanded for pixel-
moving filters, and will not include extra border for children.

Note that the rebaselined layout tests are all for very small
single-pixel errors, except for backdrop_filter_blur_outsets.png
and backdrop-filter-boundary-expected.png, which change because
of this new behavior.

This needs a (small) spec change, but it will be beneficial in
these four ways:
 - It agrees more closely with existing Safari behavior.
 - It improves performance, by filtering fewer pixels in the
   case of pixel-moving filters.
 - Developers have been disappointed with the existing behavior
   of bringing in pixels from outside the bounds of the
   element, and have requested a way to turn this behavior off.
   See the discussion starting at [2].
 - It eliminates the problem of crbug.com/972173, where content
   outside the renderer viewport can get dragged into the filter.

[1] https://github.com/w3c/fxtf-drafts/pull/342
[2] https://bugs.chromium.org/p/chromium/issues/detail?id=497522#c196

TBR=masonfreed@chromium.org

(cherry picked from commit 16f5c5ac41dcf6415c1e1a4ab916f693ba850a25)

Bug: 972173,497522
Change-Id: I18cc6d08cf9fde263b9e166b5e96ea57a1c41973
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1650418
Reviewed-by: enne <enne@chromium.org>
Commit-Queue: Mason Freed <masonfreed@chromium.org>
Auto-Submit: Mason Freed <masonfreed@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#668894}
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1660122
Reviewed-by: Mason Freed <masonfreed@chromium.org>
Cr-Commit-Position: refs/branch-heads/3809@{#316}
Cr-Branched-From: d82dec1a818f378c464ba307ddd9c92133eac355-refs/heads/master@{#665002}
21 files changed