[webkit-reviews] review denied: [Bug 33909] Intro text at Star Wars demo is clipped : [Attachment 50962] Patch
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Mar 17 15:11:04 PDT 2010
Simon Fraser (smfr) <simon.fraser at apple.com> has denied Enrica Casucci
<enrica at apple.com>'s request for review:
Bug 33909: Intro text at Star Wars demo is clipped
https://bugs.webkit.org/show_bug.cgi?id=33909
Attachment 50962: Patch
https://bugs.webkit.org/attachment.cgi?id=50962&action=review
------- Additional Comments from Simon Fraser (smfr) <simon.fraser at apple.com>
> Index: WebCore/ChangeLog
> ===================================================================
> --- WebCore/ChangeLog (revision 56128)
> +++ WebCore/ChangeLog (working copy)
> @@ -1,3 +1,19 @@
> +2010-03-17 Enrica Casucci <enrica at apple.com>
> +
> + Reviewed by NOBODY (OOPS!).
> +
> + Intro text at Star Wars demo is clipped.
> + <rdar://problem/7560979>
> + <https://bugs.webkit.org/show_bug.cgi?id=33909>
> +
> + Test: compositing/repaint/opacity-animation.html
> +
> + The origin of the dirty rectangle needs to be flipped.
I'd like to see a bit more verbage here, describing that we flip the coords for
drawing, so we have to flip invalidate rects too.
> Index: WebCore/platform/graphics/win/GraphicsLayerCACF.cpp
> ===================================================================
> + virtual void setNeedsDisplay(const CGRect* dirtyRect)
I think this method should only to rect flipping in the situation where the
drawing code does flipping (i.e. check the m_owner->contentsOrientation()).
> + CGRect layerBounds = bounds();
If dirtyRect is null and we're not showing the repaint counter, this call is
wasting cycles.
> + if (m_owner && m_owner->showRepaintCounter()) {
> + CGRect repaintCounterRect = layerBounds;
> + repaintCounterRect.size.width = 48; // We assume a maximum
of 4 digits.
> + repaintCounterRect.size.height = 25; // We use 22 as font
size.
> + repaintCounterRect.origin.y = layerBounds.size.height -
(layerBounds.origin.y + repaintCounterRect.size.height);
> + WKCACFLayer::setNeedsDisplay(&repaintCounterRect);
> + }
> + if (dirtyRect) {
> + CGRect flippedDirtyRect = *dirtyRect;
> + flippedDirtyRect.origin.y = layerBounds.size.height -
(flippedDirtyRect.origin.y + flippedDirtyRect.size.height);
> + WKCACFLayer::setNeedsDisplay(&flippedDirtyRect);
> + return;
> + }
> + WKCACFLayer::setNeedsDisplay(dirtyRect);
I think this would be clearer with an 'else'.
> Index: LayoutTests/compositing/repaint/opacity-animation.html
> ===================================================================
> --- LayoutTests/compositing/repaint/opacity-animation.html (revision 0)
> +++ LayoutTests/compositing/repaint/opacity-animation.html (revision 0)
I think this testcase could be vastly simplified; it should end up as a green
box on success, and a red or partially red box on failure.
r- to check contentsOrientation(), and I'd like to see the other stuff fixed
too.
More information about the webkit-reviews
mailing list