New issue
Advanced search Search tips

Issue 809102 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Feb 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug-Regression



Sign in to add a comment

Hidden overflow not honored with blur filter on parent

Reported by mikael.n...@lifesum.com, Feb 5 2018

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.119 Safari/537.36

Steps to reproduce the problem:
1. Create element with overflow: hidden
2. Position an element so that parts of it are outside of the element with overflow: hidden
3. Apply filter: blur(15px) to a parent of the elements

What is the expected behavior?
The hidden parts of the element should remain hidden.

What went wrong?
It appears that the expected effect of overflow: hidden disappears when the filter is applied.

Did this work before? N/A 

Does this work in other browsers? Yes

Chrome version: 64.0.3282.119  Channel: n/a
OS Version: OS X 10.13.2
Flash Version: 

Tried in Firefox Quantom. Working as expected.
 
blur.html
756 bytes View Download
blur-before.png
308 KB View Download
blur-after.png
189 KB View Download
Workaround: Apply `filter: blur(0)` to the element with `overflow: hidden`
Components: -Blink>Compositing Blink>Paint
Labels: Needs-Feedback
NextAction: 2018-02-07
I can't reproduce this on blur.html. It looks to me like it is correctly
clipping the overflow areas before applying the blur. On what page did you
take the screenshot?
Labels: Needs-Triage-M64
The page in the screenshots are not publicly available ATM. However, I'm still getting the same issue in the blur.html.

I created a fiddle with two versions, one where the filter breaks overflow, and one where I applied a workaround. https://jsfiddle.net/Micke/r3gvjgo9/2/

Attaching a screenshot of how it behaves for me. 

(Chrome v 64.0.3282.140)
blur-bug.png
40.2 KB View Download
Project Member

Comment 5 by sheriffbot@chromium.org, Feb 6 2018

Cc: chrishtr@chromium.org
Labels: -Needs-Feedback
Thank you for providing more feedback. Adding requester "chrishtr@chromium.org" to the cc list and removing "Needs-Feedback" label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Status: Available (was: Unconfirmed)
Reproduces and Firefox does what one would expect, I think.

I'll see if this is recent breakage.
cr809102.html
451 bytes View Download
Labels: -Type-Bug RegressedIn-63 Target-65 FoundIn-66 FoundIn-64 FoundIn-65 FoundIn-63 Type-Bug-Regression
NextAction: ----
Owner: wangxianzhu@chromium.org
Status: Assigned (was: Available)
Bisects to

https://chromium.googlesource.com/chromium/src/+/fb48c272877d177f4c93a617aa97323c28fb1552

Use GeometryMapper to map visual rect with filters for paint invalidation

This is an M-63 stable regression.
Cc: wangxianzhu@chromium.org
 Issue 809402  has been merged into this issue.
Project Member

Comment 9 by bugdroid1@chromium.org, Feb 8 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d88b38539a1cae36c00ba1ecbaf564dc6386f753

commit d88b38539a1cae36c00ba1ecbaf564dc6386f753
Author: Xianzhu Wang <wangxianzhu@chromium.org>
Date: Thu Feb 08 19:00:41 2018

[PE] GeometryMapper::LocalToAncestorClipRect() should ignore effects

The method is used to get a clip rect in the target state space that
will applied to the contents under local_state. The clip is applied
before any effect are applied so should not consider effects.

Bug:  809102 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: Id97c6766f962904f493037b08ebab09439c9a627
Reviewed-on: https://chromium-review.googlesource.com/907472
Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#535465}
[add] https://crrev.com/d88b38539a1cae36c00ba1ecbaf564dc6386f753/third_party/WebKit/LayoutTests/paint/filters/absolute-under-clip-under-filter-expected.html
[add] https://crrev.com/d88b38539a1cae36c00ba1ecbaf564dc6386f753/third_party/WebKit/LayoutTests/paint/filters/absolute-under-clip-under-filter.html
[modify] https://crrev.com/d88b38539a1cae36c00ba1ecbaf564dc6386f753/third_party/WebKit/LayoutTests/platform/linux/compositing/reflections/nested-reflection-on-overflow-expected.txt
[add] https://crrev.com/d88b38539a1cae36c00ba1ecbaf564dc6386f753/third_party/WebKit/LayoutTests/platform/mac-mac10.12/compositing/reflections/nested-reflection-on-overflow-expected.txt
[modify] https://crrev.com/d88b38539a1cae36c00ba1ecbaf564dc6386f753/third_party/WebKit/LayoutTests/platform/win/compositing/reflections/nested-reflection-on-overflow-expected.txt
[modify] https://crrev.com/d88b38539a1cae36c00ba1ecbaf564dc6386f753/third_party/WebKit/LayoutTests/virtual/spv175/compositing/reflections/nested-reflection-on-overflow-expected.txt
[modify] https://crrev.com/d88b38539a1cae36c00ba1ecbaf564dc6386f753/third_party/WebKit/Source/platform/graphics/paint/GeometryMapper.cpp
[modify] https://crrev.com/d88b38539a1cae36c00ba1ecbaf564dc6386f753/third_party/WebKit/Source/platform/graphics/paint/GeometryMapper.h
[modify] https://crrev.com/d88b38539a1cae36c00ba1ecbaf564dc6386f753/third_party/WebKit/Source/platform/graphics/paint/GeometryMapperTest.cpp

Just found that the #c9 patch just fixed some cases of the issue, but not the reported case.
Labels: -Target-65
Status: Fixed (was: Assigned)
SPv175 has been enabled on ToT and the test is now passing. Removing Target-65 because we'll not ship SPv175 in M65.

Sign in to add a comment