Bug 83604

Summary: Clean up multiple RenderedPosition::absoluteRect definitions and correct LayoutUnit usage
Product: WebKit Reporter: Levi Weintraub <leviw>
Component: Layout and RenderingAssignee: Levi Weintraub <leviw>
Status: RESOLVED FIXED    
Severity: Normal CC: eae, eric, jchaffraix, rniwa, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 60318    
Attachments:
Description Flags
Patch none

Description Levi Weintraub 2012-04-10 12:21:30 PDT
There are currently 3 definitions of RenderedPosition::absoluteRect where only one is needed. It also currently returns a LayoutRect despite being in absolute coordinates, which should be integers.
Comment 1 Levi Weintraub 2012-04-10 12:26:17 PDT
Created attachment 136508 [details]
Patch
Comment 2 Julien Chaffraix 2012-04-10 14:07:09 PDT
Comment on attachment 136508 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=136508&action=review

> Source/WebCore/editing/RenderedPosition.cpp:232
> +    IntRect localRect = pixelSnappedIntRect(m_renderer->localCaretRect(m_inlineBox, m_offset, extraWidthToEndOfLine));

For people watching at home, the pixelSnappedIntRect confused me a lot and I pinged leviw@ about that. Currently we want to snap our rectangles before calling localToAbsoluteQuad to be consistent across all the painting code.

We may lose some precision by doing so (if we have a transform that is not pixel aligned for example), but coherency is better for now. We may relax this requirement later.
Comment 3 Levi Weintraub 2012-04-10 14:19:18 PDT
Comment on attachment 136508 [details]
Patch

Thanks Julien!
Comment 4 WebKit Review Bot 2012-04-10 16:44:44 PDT
Comment on attachment 136508 [details]
Patch

Clearing flags on attachment: 136508

Committed r113792: <http://trac.webkit.org/changeset/113792>
Comment 5 WebKit Review Bot 2012-04-10 16:44:48 PDT
All reviewed patches have been landed.  Closing bug.