Summary: | Don't scroll to non-integral scroll offsets | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Simon Fraser (smfr) <simon.fraser> | ||||
Component: | New Bugs | Assignee: | Simon Fraser (smfr) <simon.fraser> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | andersca, bdakin, cmarcelo, commit-queue, jamesr, luiz, simon.fraser, thorton, tonikitoo | ||||
Priority: | P2 | Keywords: | InRadar | ||||
Version: | 528+ (Nightly build) | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Attachments: |
|
Description
Simon Fraser (smfr)
2014-06-01 12:43:34 PDT
Created attachment 232351 [details]
Patch
Comment on attachment 232351 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=232351&action=review > Source/WebCore/page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:324 > + // FIXME: when we support half-pixel scroll positions on Retina displays, this will need to round to half pixels. half-pixel -> device pixel > Source/WebCore/page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:325 > + FloatPoint roundedPosition(roundf(scrollPosition.x()), roundf(scrollPosition.y())); I am wondering whether the input devices that send integral values do integer truncation or rounding. (and whether we should mimic that behavior) Comment on attachment 232351 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=232351&action=review >> Source/WebCore/page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:325 >> + FloatPoint roundedPosition(roundf(scrollPosition.x()), roundf(scrollPosition.y())); > > I am wondering whether the input devices that send integral values do integer truncation or rounding. (and whether we should mimic that behavior) Is this the single correct bottleneck for the rounding? What about the setScrollPositionWithoutContentEdgeConstraints and setScrollLayerPosition functions? (In reply to comment #4) > (From update of attachment 232351 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=232351&action=review > > >> Source/WebCore/page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:325 > >> + FloatPoint roundedPosition(roundf(scrollPosition.x()), roundf(scrollPosition.y())); > > > > I am wondering whether the input devices that send integral values do integer truncation or rounding. (and whether we should mimic that behavior) > > Is this the single correct bottleneck for the rounding? What about the setScrollPositionWithoutContentEdgeConstraints and setScrollLayerPosition functions? This is the bottleneck, yes. Comment on attachment 232351 [details] Patch Clearing flags on attachment: 232351 Committed r169519: <http://trac.webkit.org/changeset/169519> All reviewed patches have been landed. Closing bug. |