<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>133436</bug_id>
          
          <creation_ts>2014-06-01 12:43:34 -0700</creation_ts>
          <short_desc>Don&apos;t scroll to non-integral scroll offsets</short_desc>
          <delta_ts>2014-06-01 16:07:55 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>andersca</cc>
    
    <cc>bdakin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jamesr</cc>
    
    <cc>luiz</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>tonikitoo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1012843</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-06-01 12:43:34 -0700</bug_when>
    <thetext>Don&apos;t scroll to non-integral scroll offsets</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012844</commentid>
    <comment_count>1</comment_count>
      <attachid>232351</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-06-01 12:45:53 -0700</bug_when>
    <thetext>Created attachment 232351
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012845</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-06-01 12:46:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/17088336&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012851</commentid>
    <comment_count>3</comment_count>
      <attachid>232351</attachid>
    <who name="alan">zalan</who>
    <bug_when>2014-06-01 13:24:59 -0700</bug_when>
    <thetext>Comment on attachment 232351
Patch

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

&gt; Source/WebCore/page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:324
&gt; +    // FIXME: when we support half-pixel scroll positions on Retina displays, this will need to round to half pixels.

half-pixel -&gt; device pixel

&gt; Source/WebCore/page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:325
&gt; +    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)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012864</commentid>
    <comment_count>4</comment_count>
      <attachid>232351</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-06-01 14:49:04 -0700</bug_when>
    <thetext>Comment on attachment 232351
Patch

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

&gt;&gt; Source/WebCore/page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:325
&gt;&gt; +    FloatPoint roundedPosition(roundf(scrollPosition.x()), roundf(scrollPosition.y()));
&gt; 
&gt; 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?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012867</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-06-01 15:34:47 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 232351 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=232351&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:325
&gt; &gt;&gt; +    FloatPoint roundedPosition(roundf(scrollPosition.x()), roundf(scrollPosition.y()));
&gt; &gt; 
&gt; &gt; I am wondering whether the input devices that send integral values do integer truncation or rounding. (and whether we should mimic that behavior)
&gt; 
&gt; Is this the single correct bottleneck for the rounding? What about the setScrollPositionWithoutContentEdgeConstraints and setScrollLayerPosition functions?

This is the bottleneck, yes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012872</commentid>
    <comment_count>6</comment_count>
      <attachid>232351</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-06-01 16:07:51 -0700</bug_when>
    <thetext>Comment on attachment 232351
Patch

Clearing flags on attachment: 232351

Committed r169519: &lt;http://trac.webkit.org/changeset/169519&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012873</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-06-01 16:07:55 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>232351</attachid>
            <date>2014-06-01 12:45:53 -0700</date>
            <delta_ts>2014-06-01 16:07:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133436-20140601124528.patch</filename>
            <type>text/plain</type>
            <size>2449</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY5NTA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDMxNzEyOTVlYjAwZDE2
OGFmMDdiMWQyZmY4Mzc2NWQwOWQ0MmM5OS4uZmViOGViNTQ1NDQ5NjRkNWZhZjUyNmE3NDYwYmIx
ODI3ZDVmM2UzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE0LTA2LTAxICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIERvbid0IHNjcm9s
bCB0byBub24taW50ZWdyYWwgc2Nyb2xsIG9mZnNldHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMzQzNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
MTcwODgzMzY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgV2l0aCB0aGUgZ3JhZHVhbCBtaWdyYXRpb24gb2Ygc2Nyb2xsIG9mZnNldHMgdG8gZmxvYXRp
bmcgcG9pbnQsIHdlIGVuZGVkCisgICAgICAgIHVwIHdpdGggYSBmdWxseSBmbG9hdGluZyBwb2lu
dCBjb2RlIHBhdGggYmVlbiBldmVudCBzY3JvbGwgZGVsdGFzIGFuZAorICAgICAgICBzZXR0aW5n
IHNjcm9sbCBwb3NpdGlvbnMgaW4gdGhlIHNjcm9sbGluZyB0cmVlLgorICAgICAgICAKKyAgICAg
ICAgV2l0aCBzb21lIGlucHV0IGRldmljZXMgKGUuZy4gTG9naXRlY2ggc2Nyb2xsd2hlZWwgbWlj
ZSksIHRoZSBzY3JvbGwgZGVsdGFzCisgICAgICAgIGNvbWUgaW4gd2l0aCBub24taW50ZWdyYWwg
dmFsdWVzLCBhbmQgdGhhdCBjYXVzZWQgdGhlIHNjcm9sbCBvZmZzZXQgdG8gYmUgbm9uLWludGVn
cmFsLAorICAgICAgICByZXN1bHRpbmcgaW4gZnV6enkgbGF5ZXIgY29udGVudHMuIFNvIHJvdW5k
IHRoZSBzY3JvbGwgcG9zaXRpb24uCisKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9tYWMvU2Ny
b2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWM6OnNldFNjcm9sbFBvc2l0aW9uKToKKwog
MjAxNC0wNS0zMSAgQmVuamFtaW4gUG91bGFpbiAgPGJlbmphbWluQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgQ1NTIEpJVCBjbGVhbnVwOiBtb3ZlIHR3byB1dGlsaXR5IGZ1bmN0aW9ucyBvdXQgb2Yg
dGhlIHByb3BlcnRpZXMtbWF0Y2hlciBzZWN0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVT
Y3JvbGxpbmdOb2RlTWFjLm1tCmluZGV4IDZmMThjMjBiOGNhZDhlYzFlZDE1ZmQ5NTMyZmI0Yzg4
ZjAyODE2MzkuLmUzYzE4ZjUyZTEzMjNjOWRkNDAzZTI2NWNhNGE1M2IyNDA3YTkxNTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRnJh
bWVTY3JvbGxpbmdOb2RlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLm1tCkBAIC0zMjAsNyArMzIw
LDExIEBAIEZsb2F0UG9pbnQgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYzo6c2Ny
b2xsUG9zaXRpb24oKSBjb25zdAogCiB2b2lkIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGVNYWM6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmIHNjcm9sbFBvc2l0aW9u
KQogewotICAgIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGU6OnNldFNjcm9sbFBvc2l0
aW9uKHNjcm9sbFBvc2l0aW9uKTsKKyAgICAvLyBTY3JvbGwgZGVsdGFzIGNhbiBiZSBub24taW50
ZWdyYWwgd2l0aCBzb21lIGlucHV0IGRldmljZXMsIHNvIHNjcm9sbFBvc2l0aW9uIG1heSBub3Qg
YmUgaW50ZWdyYWwuCisgICAgLy8gRklYTUU6IHdoZW4gd2Ugc3VwcG9ydCBoYWxmLXBpeGVsIHNj
cm9sbCBwb3NpdGlvbnMgb24gUmV0aW5hIGRpc3BsYXlzLCB0aGlzIHdpbGwgbmVlZCB0byByb3Vu
ZCB0byBoYWxmIHBpeGVscy4KKyAgICBGbG9hdFBvaW50IHJvdW5kZWRQb3NpdGlvbihyb3VuZGYo
c2Nyb2xsUG9zaXRpb24ueCgpKSwgcm91bmRmKHNjcm9sbFBvc2l0aW9uLnkoKSkpOworCisgICAg
U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZTo6c2V0U2Nyb2xsUG9zaXRpb24ocm91bmRl
ZFBvc2l0aW9uKTsKIAogICAgIGlmIChzY3JvbGxpbmdUcmVlKCkuc2Nyb2xsaW5nUGVyZm9ybWFu
Y2VMb2dnaW5nRW5hYmxlZCgpKQogICAgICAgICBsb2dFeHBvc2VkVW5maWxsZWRBcmVhKCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>