Bug 19203 - CSS masks should not clip by default (add a value of "none" to mask-clip property)
Summary: CSS masks should not clip by default (add a value of "none" to mask-clip prop...
Status: RESOLVED CONFIGURATION CHANGED
Alias: None
Product: WebKit
Classification: Unclassified
Component: CSS (show other bugs)
Version: 528+ (Nightly build)
Hardware: Mac OS X 10.5
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks: 95389
  Show dependency treegraph
 
Reported: 2008-05-22 19:00 PDT by CJ Yetman
Modified: 2022-07-11 16:24 PDT (History)
6 users (show)

See Also:


Attachments
shows two boxes with reflection: one has a mask, other does not (492 bytes, text/html)
2008-05-22 19:02 PDT, CJ Yetman
no flags Details
reflection on masked object is partially revealed if the object is skewed (499 bytes, text/html)
2008-05-22 19:14 PDT, CJ Yetman
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description CJ Yetman 2008-05-22 19:00:36 PDT
If you add a CSS mask to an object that has a CSS reflect, the reflection no longer appears.
CSS transforms don't play nice with CSS reflect either. May be linked. See bug https://bugs.webkit.org/show_bug.cgi?id=19179
also see test case
Comment 1 CJ Yetman 2008-05-22 19:02:22 PDT
Created attachment 21306 [details]
shows two boxes with reflection: one has a mask, other does not
Comment 2 CJ Yetman 2008-05-22 19:14:18 PDT
Created attachment 21307 [details]
reflection on masked object is partially revealed if the object is skewed
Comment 3 Dave Hyatt 2008-05-27 14:33:18 PDT
It is at the moment correct behavior that a mask causes a reflection to disappear.  We will have to add a new value to mask-clip (something like "none") and make it the default in order to fix this.  Note that the same thing happens with box-shadow (the shadow will disappear).

This is happening because mask-clip is defaulting to a value of "border", which means it is clipping out everything outside the border.
Comment 4 Dave Hyatt 2008-05-27 14:34:57 PDT
Another option is to just say that the mask *never* masks anything outside the border box for any value of mask-clip.
Comment 5 CJ Yetman 2009-04-08 20:57:59 PDT
this behavior has changed in Webkit nightly build 530.6

in the second test, the skewed box shows no reflection at all, instead of just the portion of the shadow that fits within the border of where the box would be if it were not skewed (like it does with the current Safari 4.0 Beta)
Comment 6 Dirk Schulze 2012-11-21 22:12:03 PST
(In reply to comment #4)
> Another option is to just say that the mask *never* masks anything outside the border box for any value of mask-clip.

The CSS WG decided to add a new keyword, which will most likely be 'no-clip'.
Comment 7 Brent Fulgham 2022-07-11 16:24:37 PDT
Safari, Chrome, and Firefox show the same rendering behavior for this test case. I do not believe any further compatibility issue remains.