<?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>87571</bug_id>
          
          <creation_ts>2012-05-25 22:54:28 -0700</creation_ts>
          <short_desc>WebProcess sends many synchronous messages to the UI process while scrolling beneath ScrollView::contentsToScreen()</short_desc>
          <delta_ts>2012-05-26 10:15:11 -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>UI Events</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>mitz</reporter>
          <assigned_to>mitz</assigned_to>
          <cc>andersca</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>634592</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2012-05-25 22:54:28 -0700</bug_when>
    <thetext>&lt;rdar://problem/11439771&gt;

Looking at a WebProcess sample from scrolling a fairly simple page, I noticed over a 1/10 of the time was spent beneath ScrollView::contentsToScreen() waiting on a synchronous message to the UI process. This function is called from EventHandler::fakeMouseMoveEventTimerFired().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634595</commentid>
    <comment_count>1</comment_count>
      <attachid>144194</attachid>
    <who name="">mitz</who>
    <bug_when>2012-05-25 23:07:02 -0700</bug_when>
    <thetext>Created attachment 144194
Store and use the last known mouse position in screen coordinates</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634654</commentid>
    <comment_count>2</comment_count>
      <attachid>144194</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-05-26 09:59:24 -0700</bug_when>
    <thetext>Comment on attachment 144194
Store and use the last known mouse position in screen coordinates

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

&gt; Source/WebCore/page/EventHandler.h:428
&gt; +    IntPoint m_currentMouseGlobalPosition;

Does &quot;global&quot; always equate to &quot;screen&quot; on systems with more than one screen?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634655</commentid>
    <comment_count>3</comment_count>
    <who name="">mitz</who>
    <bug_when>2012-05-26 10:12:29 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 144194 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=144194&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/EventHandler.h:428
&gt; &gt; +    IntPoint m_currentMouseGlobalPosition;
&gt; 
&gt; Does &quot;global&quot; always equate to &quot;screen&quot; on systems with more than one screen?

Not sure. If not, then this makes the fake event more faithful, since it just replicates the global position of the last real event.

Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634656</commentid>
    <comment_count>4</comment_count>
    <who name="">mitz</who>
    <bug_when>2012-05-26 10:15:11 -0700</bug_when>
    <thetext>Fixed in &lt;http://trac.webkit.org/r118611&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144194</attachid>
            <date>2012-05-25 23:07:02 -0700</date>
            <delta_ts>2012-05-26 09:59:24 -0700</delta_ts>
            <desc>Store and use the last known mouse position in screen coordinates</desc>
            <filename>bug-87571-20120525230701.patch</filename>
            <type>text/plain</type>
            <size>4740</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExODYwNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA1LTI1ICBEYW4gQmVy
bnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CisKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzExNDM5
NzcxPiBXZWJQcm9jZXNzIHNlbmRzIG1hbnkgc3luY2hyb25vdXMgbWVzc2FnZXMgdG8gdGhlIFVJ
IHByb2Nlc3Mgd2hpbGUgc2Nyb2xsaW5nIGJlbmVhdGggU2Nyb2xsVmlldzo6Y29udGVudHNUb1Nj
cmVlbigpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
NzU3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGZh
a2VNb3VzZUV2ZW50VGltZXJGaXJlZCgpIHVzZXMgdGhlIGxhc3Qga25vd24gbW91c2UgcG9zaXRp
b24gZm9yIHRoZSBmYWtlIG1vdXNlIGV2ZW50LCBidXQKKyAgICAgICAgY2FsbHMgY29udGVudHNU
b1NjcmVlbigpIHRvIGNvbXB1dGUgYSBjb3JyZXNwb25kaW5nIHBvc2l0aW9uIGluIHNjcmVlbiBj
b29yZGluYXRlcy4gQXZvaWQKKyAgICAgICAgdGhpcyBieSBhbHNvIHJlY29yZGluZyB0aGUgbGFz
dCBrbm93biBtb3VzZSBwb3NpdGlvbiBpbiBzY3JlZW4gY29vcmRpbmF0ZXMsIGFuZCB1c2luZyB0
aGF0CisgICAgICAgIHZhbHVlLgorCisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpjbGVhcik6IEFkZGVkIHJlc2V0dGluZyBt
X2N1cnJlbnRNb3VzZUdsb2JhbFBvc2l0aW9uLgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5k
bGVyOjpoYW5kbGVNb3VzZVByZXNzRXZlbnQpOiBBZGRlZCB1cGRhdGluZyBtX2N1cnJlbnRNb3Vz
ZUdsb2JhbFBvc2l0aW9uCisgICAgICAgIHdoZW4gdXBkYXRpbmcgbV9jdXJyZW50TW91c2VQb3Np
dGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VEb3VibGVD
bGlja0V2ZW50KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmhhbmRs
ZU1vdXNlTW92ZUV2ZW50KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6
OmhhbmRsZU1vdXNlUmVsZWFzZUV2ZW50KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpFdmVu
dEhhbmRsZXI6OmZha2VNb3VzZU1vdmVFdmVudFRpbWVyRmlyZWQpOiBDaGFuZ2VkIHRvIHVzZSBt
X2N1cnJlbnRNb3VzZUdsb2JhbFBvc2l0aW9uCisgICAgICAgIGluIHRoZSBmYWtlIGV2ZW50IGlu
c3RlYWQgb2YgY2FsbGluZyBjb250ZW50c1RvU2NyZWVuKCkuCisgICAgICAgICogcGFnZS9FdmVu
dEhhbmRsZXIuaDogQWRkZWQgbV9jdXJyZW50TW91c2VHbG9iYWxQb3NpdGlvbiBkYXRhIG1lbWJl
ci4KKwogMjAxMi0wNS0yNSAgR2FycmV0dCBDYXN0byAgPGdjYXN0b0BjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgQWxsb3cgV2ViVGV4dEZpZWxkRGVjb3JhdG9yQ2xpZW50IHRvIHNlZSBhcHBsaWVk
IGRlY29yYXRpb25zLgpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAkocmV2
aXNpb24gMTE4NTg2KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zNTcsNiArMzU3LDcgQEAgdm9pZCBFdmVudEhhbmRsZXI6OmNsZWFy
KCkKICAgICBtX3Nob3VsZE9ubHlGaXJlRHJhZ092ZXJFdmVudCA9IGZhbHNlOwogI2VuZGlmCiAg
ICAgbV9jdXJyZW50TW91c2VQb3NpdGlvbiA9IEludFBvaW50KCk7CisgICAgbV9jdXJyZW50TW91
c2VHbG9iYWxQb3NpdGlvbiA9IEludFBvaW50KCk7CiAgICAgbV9tb3VzZVByZXNzTm9kZSA9IDA7
CiAgICAgbV9tb3VzZVByZXNzZWQgPSBmYWxzZTsKICAgICBtX2NhcHR1cmVzRHJhZ2dpbmcgPSBm
YWxzZTsKQEAgLTE0OTgsNiArMTQ5OSw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3Vz
ZVByZXNzRXZlbnQKICAgICBtX21vdXNlUHJlc3NlZCA9IHRydWU7CiAgICAgbV9jYXB0dXJlc0Ry
YWdnaW5nID0gdHJ1ZTsKICAgICBtX2N1cnJlbnRNb3VzZVBvc2l0aW9uID0gbW91c2VFdmVudC5w
b3NpdGlvbigpOworICAgIG1fY3VycmVudE1vdXNlR2xvYmFsUG9zaXRpb24gPSBtb3VzZUV2ZW50
Lmdsb2JhbFBvc2l0aW9uKCk7CiAgICAgbV9tb3VzZURvd25UaW1lc3RhbXAgPSBtb3VzZUV2ZW50
LnRpbWVzdGFtcCgpOwogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAgICAgbV9tb3VzZURvd25N
YXlTdGFydERyYWcgPSBmYWxzZTsKQEAgLTE2MzEsNiArMTYzMyw3IEBAIGJvb2wgRXZlbnRIYW5k
bGVyOjpoYW5kbGVNb3VzZURvdWJsZUNsaWMKICAgICAvLyBXZSBnZXQgdGhpcyBpbnN0ZWFkIG9m
IGEgc2Vjb25kIG1vdXNlLXVwIAogICAgIG1fbW91c2VQcmVzc2VkID0gZmFsc2U7CiAgICAgbV9j
dXJyZW50TW91c2VQb3NpdGlvbiA9IG1vdXNlRXZlbnQucG9zaXRpb24oKTsKKyAgICBtX2N1cnJl
bnRNb3VzZUdsb2JhbFBvc2l0aW9uID0gbW91c2VFdmVudC5nbG9iYWxQb3NpdGlvbigpOwogCiAg
ICAgSGl0VGVzdFJlcXVlc3QgcmVxdWVzdChIaXRUZXN0UmVxdWVzdDo6QWN0aXZlKTsKICAgICBN
b3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzIG1ldiA9IHByZXBhcmVNb3VzZUV2ZW50KHJlcXVl
c3QsIG1vdXNlRXZlbnQpOwpAQCAtMTcyNSw2ICsxNzI4LDcgQEAgYm9vbCBFdmVudEhhbmRsZXI6
OmhhbmRsZU1vdXNlTW92ZUV2ZW50KAogCiAgICAgUmVmUHRyPEZyYW1lVmlldz4gcHJvdGVjdG9y
KG1fZnJhbWUtPnZpZXcoKSk7CiAgICAgbV9jdXJyZW50TW91c2VQb3NpdGlvbiA9IG1vdXNlRXZl
bnQucG9zaXRpb24oKTsKKyAgICBtX2N1cnJlbnRNb3VzZUdsb2JhbFBvc2l0aW9uID0gbW91c2VF
dmVudC5nbG9iYWxQb3NpdGlvbigpOwogCiAgICAgaWYgKG1faG92ZXJUaW1lci5pc0FjdGl2ZSgp
KQogICAgICAgICBtX2hvdmVyVGltZXIuc3RvcCgpOwpAQCAtMTg0OCw2ICsxODUyLDcgQEAgYm9v
bCBFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlUmVsZWFzZUV2ZQogCiAgICAgbV9tb3VzZVByZXNz
ZWQgPSBmYWxzZTsKICAgICBtX2N1cnJlbnRNb3VzZVBvc2l0aW9uID0gbW91c2VFdmVudC5wb3Np
dGlvbigpOworICAgIG1fY3VycmVudE1vdXNlR2xvYmFsUG9zaXRpb24gPSBtb3VzZUV2ZW50Lmds
b2JhbFBvc2l0aW9uKCk7CiAKICNpZiBFTkFCTEUoU1ZHKQogICAgIGlmIChtX3N2Z1BhbikgewpA
QCAtMjY2OCw4ICsyNjczLDcgQEAgdm9pZCBFdmVudEhhbmRsZXI6OmZha2VNb3VzZU1vdmVFdmVu
dFRpbQogICAgIGJvb2wgYWx0S2V5OwogICAgIGJvb2wgbWV0YUtleTsKICAgICBQbGF0Zm9ybUtl
eWJvYXJkRXZlbnQ6OmdldEN1cnJlbnRNb2RpZmllclN0YXRlKHNoaWZ0S2V5LCBjdHJsS2V5LCBh
bHRLZXksIG1ldGFLZXkpOwotICAgIEludFBvaW50IGdsb2JhbFBvaW50ID0gdmlldy0+Y29udGVu
dHNUb1NjcmVlbihJbnRSZWN0KHZpZXctPndpbmRvd1RvQ29udGVudHMobV9jdXJyZW50TW91c2VQ
b3NpdGlvbiksIEludFNpemUoKSkpLmxvY2F0aW9uKCk7Ci0gICAgUGxhdGZvcm1Nb3VzZUV2ZW50
IGZha2VNb3VzZU1vdmVFdmVudChtX2N1cnJlbnRNb3VzZVBvc2l0aW9uLCBnbG9iYWxQb2ludCwg
Tm9CdXR0b24sIFBsYXRmb3JtRXZlbnQ6Ok1vdXNlTW92ZWQsIDAsIHNoaWZ0S2V5LCBjdHJsS2V5
LCBhbHRLZXksIG1ldGFLZXksIGN1cnJlbnRUaW1lKCkpOworICAgIFBsYXRmb3JtTW91c2VFdmVu
dCBmYWtlTW91c2VNb3ZlRXZlbnQobV9jdXJyZW50TW91c2VQb3NpdGlvbiwgbV9jdXJyZW50TW91
c2VHbG9iYWxQb3NpdGlvbiwgTm9CdXR0b24sIFBsYXRmb3JtRXZlbnQ6Ok1vdXNlTW92ZWQsIDAs
IHNoaWZ0S2V5LCBjdHJsS2V5LCBhbHRLZXksIG1ldGFLZXksIGN1cnJlbnRUaW1lKCkpOwogICAg
IG1vdXNlTW92ZWQoZmFrZU1vdXNlTW92ZUV2ZW50KTsKIH0KIApJbmRleDogU291cmNlL1dlYkNv
cmUvcGFnZS9FdmVudEhhbmRsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdl
L0V2ZW50SGFuZGxlci5oCShyZXZpc2lvbiAxMTg1ODYpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdl
L0V2ZW50SGFuZGxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC00MjUsNiArNDI1LDcgQEAgcHJpdmF0
ZToKICAgICBMYXlvdXRTaXplIG1fb2Zmc2V0RnJvbVJlc2l6ZUNvcm5lcjsgLy8gSW4gdGhlIGNv
b3JkcyBvZiBtX3Jlc2l6ZUxheWVyLgogICAgIAogICAgIEludFBvaW50IG1fY3VycmVudE1vdXNl
UG9zaXRpb247CisgICAgSW50UG9pbnQgbV9jdXJyZW50TW91c2VHbG9iYWxQb3NpdGlvbjsKICAg
ICBJbnRQb2ludCBtX21vdXNlRG93blBvczsgLy8gSW4gb3VyIHZpZXcncyBjb29yZHMuCiAgICAg
ZG91YmxlIG1fbW91c2VEb3duVGltZXN0YW1wOwogICAgIFBsYXRmb3JtTW91c2VFdmVudCBtX21v
dXNlRG93bjsK
</data>
<flag name="review"
          id="150960"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>