WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
140536
Border-radius clipping on a stacking context causes descendants to not render
https://bugs.webkit.org/show_bug.cgi?id=140536
Summary
Border-radius clipping on a stacking context causes descendants to not render
Simon Fraser (smfr)
Reported
2015-01-15 20:24:17 PST
Created
attachment 244747
[details]
Testcase Attached testcase shows a bug with border-radius clipping on a stacking context, with composited descendants.
Attachments
Testcase
(622 bytes, text/html)
2015-01-15 20:24 PST
,
Simon Fraser (smfr)
no flags
Details
Patch
(27.32 KB, patch)
2015-01-17 11:14 PST
,
Simon Fraser (smfr)
no flags
Details
Formatted Diff
Diff
test-result
(31.89 KB, image/png)
2015-01-21 14:30 PST
,
Byungseon(Sun) Shin
no flags
Details
test-result-expected
(27.61 KB, image/png)
2015-01-21 14:30 PST
,
Byungseon(Sun) Shin
no flags
Details
clip and border radius test
(715 bytes, text/html)
2015-01-21 14:34 PST
,
Byungseon(Sun) Shin
no flags
Details
Patch
(27.32 KB, patch)
2015-01-26 20:27 PST
,
Simon Fraser (smfr)
no flags
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Simon Fraser (smfr)
Comment 1
2015-01-15 22:03:58 PST
I have a fix for this.
Simon Fraser (smfr)
Comment 2
2015-01-17 11:14:40 PST
Created
attachment 244842
[details]
Patch
Byungseon(Sun) Shin
Comment 3
2015-01-19 10:41:04 PST
I have verified that this change resolve the issue clearly on Mac Platform. Thanks Simon.
Byungseon(Sun) Shin
Comment 4
2015-01-19 10:48:50 PST
I have found an issue on "Testcase that asserts on non-Mac" of
https://bugs.webkit.org/show_bug.cgi?id=138551
. It does not work on second test.
Byungseon(Sun) Shin
Comment 5
2015-01-21 08:17:01 PST
When container has border radius and clippingLayer with an offset value, it may need to apply border radius to container not to clippingLayer and then update offset value. I have created a patch for it. One issue is when I change the offset value of clip Layer using inspector, it does not work well. // The clipping strategy depends on whether the rounded rect has equal corner radii. void GraphicsLayerCA::updateClippingStrategy(PlatformCALayer& clippingLayer, RefPtr<PlatformCALayer>& shapeMaskLayer, const FloatRoundedRect& roundedRect ) { @@ -2085,7 +2072,15 @@ void GraphicsLayerCA::updateClippingStrategy(PlatformCALayer& clippingLayer, Ref clippingLayer.setCornerRadius(0); clippingLayer.setMask(shapeMaskLayer.get()); - FloatRoundedRect offsetRoundedRect(clippingLayer.bounds(), roundedRect.radii());+ + FloatRoundedRect offsetRoundedRect(roundedRect); + + FloatRect clipRect = clippingLayer.bounds(); + FloatPoint3D clipPos = clippingLayer.position(); + FloatSize clipOffset = FloatSize(-(clipPos.x() - clipRect.width()/2), -(clipPos.y() - clipRect.height()/2)); + + offsetRoundedRect.move(clipOffset); + shapeMaskLayer->setShapeRoundedRect(offsetRoundedRect); }
Byungseon(Sun) Shin
Comment 6
2015-01-21 14:30:10 PST
Created
attachment 245090
[details]
test-result
Byungseon(Sun) Shin
Comment 7
2015-01-21 14:30:53 PST
Created
attachment 245091
[details]
test-result-expected
Byungseon(Sun) Shin
Comment 8
2015-01-21 14:34:31 PST
Created
attachment 245093
[details]
clip and border radius test
Simon Fraser (smfr)
Comment 9
2015-01-26 20:27:45 PST
Created
attachment 245405
[details]
Patch
WebKit Commit Bot
Comment 10
2015-01-29 14:57:53 PST
Comment on
attachment 245405
[details]
Patch Clearing flags on attachment: 245405 Committed
r179369
: <
http://trac.webkit.org/changeset/179369
>
WebKit Commit Bot
Comment 11
2015-01-29 14:57:57 PST
All reviewed patches have been landed. Closing bug.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug