Bug 149318

Summary: Backdrop Filter should not be visible if element has visibility:hidden
Product: WebKit Reporter: Joseph Pecoraro <joepeck>
Component: WebCore Misc.Assignee: Dean Jackson <dino>
Status: RESOLVED FIXED    
Severity: Normal CC: bsward, commit-queue, dino, simon.fraser, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch simon.fraser: review+

Description Joseph Pecoraro 2015-09-17 16:59:46 PDT
* SUMMARY
Backdrop Filter should not be visible if element has visibility:hidden.

* TEST
<style>
.back {
    width: 300px;
    height: 150px;
    margin: 100px;
    background: blue;
}
.top {
    width: 1000px;
    height: 50px;
    position: absolute;
    left: 0;
    top: 150px;
    -webkit-backdrop-filter: blur(50px);
    visibility: hidden;
}
</style>
<div class="back">
    <div class="top"></div>
</div>

* STEPS TO REPRODUCE
1. Open test
  => did not expect div with visibility:hidden to still have blur visible
Comment 1 Radar WebKit Bug Importer 2015-09-17 17:01:04 PDT
<rdar://problem/22749780>
Comment 2 Brian Ward 2015-12-28 16:43:46 PST
Just wanted to add that if the parent element has visibility:hidden, the child that has the blur will still composit the blur onto the page, even though it is expected that all content within the parent, including the child would be hidden.
Comment 3 Dean Jackson 2016-04-21 18:00:43 PDT
Created attachment 276991 [details]
Patch
Comment 4 Simon Fraser (smfr) 2016-04-21 18:21:42 PDT
Comment on attachment 276991 [details]
Patch

This needs to fix PlatformCALayerRemote too.
Comment 5 Dean Jackson 2016-04-21 18:35:20 PDT
Created attachment 276995 [details]
Patch
Comment 6 Simon Fraser (smfr) 2016-04-21 18:41:21 PDT
Comment on attachment 276995 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=276995&action=review

> LayoutTests/ChangeLog:15
> +        * css3/filters/backdrop/backdrop-with-visibility-hidden-changing-expected.txt: Added.
> +        * css3/filters/backdrop/backdrop-with-visibility-hidden-changing.html: Added.
> +        * css3/filters/backdrop/backdrop-with-visibility-hidden-expected.txt: Added.
> +        * css3/filters/backdrop/backdrop-with-visibility-hidden.html: Added.

Maybe include a ref test?
Comment 7 Dean Jackson 2016-04-21 18:49:17 PDT
Committed r199862: <http://trac.webkit.org/changeset/199862>
Comment 8 Dean Jackson 2016-04-21 18:49:33 PDT
Committed r199862: <http://trac.webkit.org/changeset/199862>