[webkit-reviews] review denied: [Bug 135318] REGRESSION (r163382): Overflow hidden for inner elements breaks blurring : [Attachment 235886] Patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Aug 1 09:49:16 PDT 2014


Zalan Bujtas <zalan at apple.com> has denied Radu Stavila <stavila at adobe.com>'s
request for review:
Bug 135318: REGRESSION (r163382): Overflow hidden for inner elements breaks
blurring
https://bugs.webkit.org/show_bug.cgi?id=135318

Attachment 235886: Patch
https://bugs.webkit.org/attachment.cgi?id=235886&action=review

------- Additional Comments from Zalan Bujtas <zalan at apple.com>
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.


More information about the webkit-reviews mailing list