Summary: | REGRESSION (r163382): Overflow hidden for inner elements breaks blurring | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Jonathan Stanton <jonathan.a.stanton> | ||||||
Component: | CSS | Assignee: | Radu Stavila <stavila> | ||||||
Status: | RESOLVED FIXED | ||||||||
Severity: | Normal | CC: | ap, benjamin, commit-queue, esprehn+autocc, glenn, kling, koivisto, kondapallykalyan, krit, mihnea, pdr, simon.fraser, stavila, thorton, zalan | ||||||
Priority: | P2 | Keywords: | AdobeTracked, Regression | ||||||
Version: | 528+ (Nightly build) | ||||||||
Hardware: | Mac | ||||||||
OS: | OS X 10.9 | ||||||||
URL: | http://codepen.io/JAStanton/pen/zyDov | ||||||||
Attachments: |
|
Description
Jonathan Stanton
2014-07-25 23:00:04 PDT
This is a regression from Safari 7.0.5. I can reproduce this bug in Blink as well. Looking Created attachment 235886 [details]
Patch
Comment on attachment 235886 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=235886&action=review > Source/WebCore/rendering/RenderLayer.cpp:3597 > if (clipRect.rect() != paintingInfo.paintDirtyRect || clipRect.hasRadius()) { > context->save(); > - LayoutRect adjustedClipRect = clipRect.rect(); > - adjustedClipRect.move(paintingInfo.subpixelAccumulation); > - context->clip(pixelSnappedForPainting(adjustedClipRect, deviceScaleFactor)); > + > + // Clipping for border radius will be applied later in this method. > + if (!clipRect.hasRadius()) { > + LayoutRect adjustedClipRect = clipRect.rect(); > + adjustedClipRect.move(paintingInfo.subpixelAccumulation); > + context->clip(pixelSnappedForPainting(adjustedClipRect, deviceScaleFactor)); > + } Now the if() gets highly confusing and almost no-op in case of cliprect has radius. I think it's time to branch out the radius and non-radius case properly. Simply when the clip rect has radius, you want the the rounded cliprect applied, while in case of no radius, the normal clip should be set. I never liked the if (!clipRect.hasRadius()) return; further down in the function anyway. Created attachment 236093 [details]
Patch integrating reviewer feedback
Comment on attachment 236093 [details] Patch integrating reviewer feedback Clearing flags on attachment: 236093 Committed r172146: <http://trac.webkit.org/changeset/172146> All reviewed patches have been landed. Closing bug. |