<?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>121329</bug_id>
          
          <creation_ts>2013-09-13 15:35:16 -0700</creation_ts>
          <short_desc>[Windows] Rendering stops when mouse is moving for some types of animations</short_desc>
          <delta_ts>2013-09-16 14:29:33 -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>WebKit Misc.</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="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>andersca</cc>
    
    <cc>aroben</cc>
    
    <cc>bfulgham</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>929039</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-09-13 15:35:16 -0700</bug_when>
    <thetext>The &quot;Canvas Performance Test&quot; (http://www.smashcat.org/av/canvas_test/) exposes a bug on Windows (and WinCairo) rendering. If you view the website, and move the mouse while the animation plays, you will see that painting of the animation stops while the mouse is in motion.  Once the mouse movement stops, the animation snaps to the proper state for the current time-slice.

Interestingly, this problem does not appear when using CSS animation effects, or the requestAnimationFrame infrastructure.

For example, this test does not show a problem:
http://www.html5canvastutorials.com/demos/advanced/html5-canvas-linear-motion-animation/index.php</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>929040</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2013-09-13 15:36:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/14989692&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>929041</commentid>
    <comment_count>2</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-09-13 15:39:56 -0700</bug_when>
    <thetext>This animation also does not exhibit the problem:
http://jsfiddle.net/XQpzU/4358/light/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>929352</commentid>
    <comment_count>3</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-09-14 21:49:18 -0700</bug_when>
    <thetext>If I put printf statements at the point where I BitBlt, and at the start of the base WebView::paint method, the two are hit the same number of times. So we are not having a problem where the paint message is getting received, but we are not blitting to the screen.

If I print a counter of each time these calls are hit, I stop seeing a counter update when the screen animation stops. This makes me think that the WM_PAINT messages are not getting generated for some reason.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>929517</commentid>
    <comment_count>4</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-09-15 15:59:25 -0700</bug_when>
    <thetext>This appears to be expected behavior. On Windows, user input always takes precedence over WM_TIMER and WM_PAINT messages.

See http://support.microsoft.com/kb/96006?wa=wsignin1.0 for details.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>929518</commentid>
    <comment_count>5</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-09-15 16:12:55 -0700</bug_when>
    <thetext>One possible solution would be to make a call to webView-&gt;paint(0, 0); at the end of the mouse-move message handler. But this will cause the backing store to be blitted into the WebView more often than it would have been.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>929532</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2013-09-15 18:30:45 -0700</bug_when>
    <thetext>It looks like Chrome&apos;s generic HWND code schedules a repaint after every message is processed by the message loop:

https://code.google.com/p/chromium/codesearch#chromium/src/ui/views/win/hwnd_message_handler.cc&amp;q=WM_PAINT&amp;sq=package:chromium&amp;l=923&amp;dr=C

And it looks like RenderWidgetHostViewWin repaints immediately every time new bits are received from the web process:

https://code.google.com/p/chromium/codesearch#chromium/src/content/browser/renderer_host/render_widget_host_view_win.cc&amp;q=Redraw%5C(%5C)&amp;sq=package:chromium&amp;l=794&amp;dr=C

(It&apos;s definitely possible I&apos;m misinterpreting some of this code.)

I don&apos;t know whether or how Chrome avoids repainting the same region of the window multiple times within a single frame. But it certainly looks like they aren&apos;t just counting on WM_PAINT to be delivered reliably (since obviously you can&apos;t).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>929920</commentid>
    <comment_count>7</comment_count>
      <attachid>211830</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-09-16 14:27:56 -0700</bug_when>
    <thetext>Created attachment 211830
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>929923</commentid>
    <comment_count>8</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-09-16 14:29:33 -0700</bug_when>
    <thetext>Committed r155901: &lt;http://trac.webkit.org/changeset/155901&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>211830</attachid>
            <date>2013-09-16 14:27:56 -0700</date>
            <delta_ts>2013-09-16 14:28:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-121329-20130916142721.patch</filename>
            <type>text/plain</type>
            <size>4950</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1NTkwMCkKKysrIFNvdXJjZS9XZWJLaXQv
d2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDEzLTA5LTE2
ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtXaW5kb3dz
XSBSZW5kZXJpbmcgc3RvcHMgd2hlbiBtb3VzZSBpcyBtb3ZpbmcgZm9yIHNvbWUgdHlwZXMgb2Yg
YW5pbWF0aW9ucy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEyMTMyOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJWaWV3OjpXZWJWaWV3KTogQWRkIG5ldyBk
aXNwbGF5IGZsYWcuCisgICAgICAgIChXZWJWaWV3OjpyZXBhaW50KTogTWFyayB2aWV3IGFzIG5l
ZWRpbmcgYSBkaXNwbGF5IG9wZXJhdGlvbi4KKyAgICAgICAgKFdlYlZpZXc6OmFkZFRvRGlydHlS
ZWdpb24pOiBEaXR0bworICAgICAgICAoV2ViVmlldzo6c2Nyb2xsQmFja2luZ1N0b3JlKTogRGl0
dG8KKyAgICAgICAgKFdlYlZpZXc6OnNpemVDaGFuZ2VkKTogRGl0dG8KKyAgICAgICAgKFdlYlZp
ZXc6OnVwZGF0ZUJhY2tpbmdTdG9yZSk6IERpdHRvCisgICAgICAgIChXZWJWaWV3OjpwZXJmb3Jt
TGF5ZXJlZFdpbmRvd1VwZGF0ZSk6IE1hcmsgdGhlIFdlYlZpZXcgYXMgaGF2aW5nIGJlZW4KKyAg
ICAgICAgbW92ZWQgdG8gc2NyZWVuLgorICAgICAgICAoV2ViVmlldzo6cGFpbnRJbnRvV2luZG93
KTogRGl0dG8KKyAgICAgICAgKFdlYlZpZXc6OldlYlZpZXdXbmRQcm9jKTogSWYgdGhlIHZpZXcg
bmVlZHMgZGlzcGxheSwgYW5kIGl0IHdhcyBub3QgZG9uZSBkdXJpbmcKKyAgICAgICAgdGhpcyBt
ZXNzYWdlIGxvb3AgaXRlcmF0aW9uLCBkcmF3IHRoZSBzY3JlZW4uCisgICAgICAgICogV2ViVmll
dy5oOgorICAgICAgICAoV2ViVmlldzo6bmVlZHNEaXNwbGF5KTogQWRkZWQKKwogMjAxMy0wOS0x
NSAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1v
dmUgZGVwZW5kZW5jeSBvbiBDb3JlRm91bmRhdGlvbiBmcm9tIFdlYkljb25EYXRhYmFzZQpJbmRl
eDogU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC93aW4vV2ViVmlldy5jcHAJKHJldmlzaW9uIDE1NTg2NikKKysrIFNvdXJjZS9XZWJLaXQv
d2luL1dlYlZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOTYsNiArMzk2LDcgQEAgV2ViVmll
dzo6V2ViVmlldygpCiAgICAgLCBtX25leHREaXNwbGF5SXNTeW5jaHJvbm91cyhmYWxzZSkKICAg
ICAsIG1fbGFzdFNldEN1cnNvcigwKQogICAgICwgbV91c2VzTGF5ZXJlZFdpbmRvdyhmYWxzZSkK
KyAgICAsIG1fbmVlZHNEaXNwbGF5KGZhbHNlKQogewogICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVh
ZGluZygpOwogICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKQEAgLTc5NCw2ICs3OTUs
NyBAQCB2b2lkIFdlYlZpZXc6OnJlcGFpbnQoY29uc3QgV2ViQ29yZTo6SW50CiAgICAgICAgIGVs
c2UKICAgICAgICAgICAgIDo6VXBkYXRlV2luZG93KG1fdmlld1dpbmRvdyk7CiAgICAgfQorICAg
IG1fbmVlZHNEaXNwbGF5ID0gdHJ1ZTsKIH0KIAogdm9pZCBXZWJWaWV3OjpkZWxldGVCYWNraW5n
U3RvcmUoKQpAQCAtODMyLDYgKzgzNCw4IEBAIGJvb2wgV2ViVmlldzo6ZW5zdXJlQmFja2luZ1N0
b3JlKCkKIAogdm9pZCBXZWJWaWV3OjphZGRUb0RpcnR5UmVnaW9uKGNvbnN0IEludFJlY3QmIGRp
cnR5UmVjdCkKIHsKKyAgICBtX25lZWRzRGlzcGxheSA9IHRydWU7CisKICAgICAvLyBGSVhNRTog
V2Ugd2FudCBhbiBhc3NlcnQgaGVyZSBzYXlpbmcgdGhhdCB0aGUgZGlydHlSZWN0IGlzIGluc2lk
ZSB0aGUgY2xpZW5SZWN0LAogICAgIC8vIGJ1dCBpdCB3YXMgYmVpbmcgaGl0IGR1cmluZyBvdXIg
bGF5b3V0IHRlc3RzLCBhbmQgaXMgYmVpbmcgaW52ZXN0aWdhdGVkIGluCiAgICAgLy8gaHR0cDov
L3dlYmtpdC5vcmcvYi8yOTM1MC4KQEAgLTg1MCw2ICs4NTQsOCBAQCB2b2lkIFdlYlZpZXc6OmFk
ZFRvRGlydHlSZWdpb24oY29uc3QgSW50CiAKIHZvaWQgV2ViVmlldzo6YWRkVG9EaXJ0eVJlZ2lv
bihHRElPYmplY3Q8SFJHTj4gbmV3UmVnaW9uKQogeworICAgIG1fbmVlZHNEaXNwbGF5ID0gdHJ1
ZTsKKwogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICBBU1NFUlQoIWlzQWNj
ZWxlcmF0ZWRDb21wb3NpdGluZygpKTsKICNlbmRpZgpAQCAtODY5LDYgKzg3NSw4IEBAIHZvaWQg
V2ViVmlldzo6YWRkVG9EaXJ0eVJlZ2lvbihHRElPYmplY3QKIAogdm9pZCBXZWJWaWV3OjpzY3Jv
bGxCYWNraW5nU3RvcmUoRnJhbWVWaWV3KiBmcmFtZVZpZXcsIGludCBkeCwgaW50IGR5LCBjb25z
dCBJbnRSZWN0JiBzY3JvbGxWaWV3UmVjdCwgY29uc3QgSW50UmVjdCYgY2xpcFJlY3QpCiB7Cisg
ICAgbV9uZWVkc0Rpc3BsYXkgPSB0cnVlOworCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lU
SU5HKQogICAgIGlmIChpc0FjY2VsZXJhdGVkQ29tcG9zaXRpbmcoKSkgewogICAgICAgICAvLyBG
SVhNRTogV2Ugc2hvdWxkIGJlIGRvaW5nIHNvbWV0aGluZyBzbWFydGVyIGhlcmUsIGxpa2UgbW92
aW5nIHRpbGVzIGFyb3VuZCBhbmQgcGFpbnRpbmcKQEAgLTkyMSw2ICs5MjksOCBAQCB2b2lkIFdl
YlZpZXc6OnNjcm9sbEJhY2tpbmdTdG9yZShGcmFtZVZpCiAKIHZvaWQgV2ViVmlldzo6c2l6ZUNo
YW5nZWQoY29uc3QgSW50U2l6ZSYgbmV3U2l6ZSkKIHsKKyAgICBtX25lZWRzRGlzcGxheSA9IHRy
dWU7CisKICAgICBkZWxldGVCYWNraW5nU3RvcmUoKTsKIAogICAgIGlmIChGcmFtZSogY29yZUZy
YW1lID0gY29yZSh0b3BMZXZlbEZyYW1lKCkpKQpAQCAtMTAyNyw2ICsxMDM3LDggQEAgdm9pZCBX
ZWJWaWV3Ojp1cGRhdGVCYWNraW5nU3RvcmUoRnJhbWVWaQogICAgICAgICA6OlNlbGVjdE9iamVj
dChiaXRtYXBEQywgb2xkQml0bWFwKTsKIAogICAgIEdkaUZsdXNoKCk7CisKKyAgICBtX25lZWRz
RGlzcGxheSA9IHRydWU7CiB9CiAKIHZvaWQgV2ViVmlldzo6cGVyZm9ybUxheWVyZWRXaW5kb3dV
cGRhdGUoKQpAQCAtMTA1Myw2ICsxMDY1LDggQEAgdm9pZCBXZWJWaWV3OjpwZXJmb3JtTGF5ZXJl
ZFdpbmRvd1VwZGF0ZQogICAgIDo6VXBkYXRlTGF5ZXJlZFdpbmRvdyhtX3ZpZXdXaW5kb3csIGhk
Y1NjcmVlbiwgMCwgJndpbmRvd1NpemUsIGhkY01lbS5nZXQoKSwgJmxheWVyUG9zLCAwLCAmYmxl
bmRGdW5jdGlvbiwgVUxXX0FMUEhBKTsKIAogICAgIDo6U2VsZWN0T2JqZWN0KGhkY01lbS5nZXQo
KSwgaGJtT2xkKTsKKworICAgIG1fbmVlZHNEaXNwbGF5ID0gZmFsc2U7CiB9CiAKIHZvaWQgV2Vi
Vmlldzo6cGFpbnQoSERDIGRjLCBMUEFSQU0gb3B0aW9ucykKQEAgLTEyMDcsNiArMTIyMSw4IEBA
IHZvaWQgV2ViVmlldzo6cGFpbnRJbnRvV2luZG93KEhEQyBiaXRtYXAKICAgICAvLyBpbiB0aGUg
ZGVzdGluYXRpb24gREMuCiAgICAgQml0Qmx0KHdpbmRvd0RDLCBkaXJ0eVJlY3QueCgpLCBkaXJ0
eVJlY3QueSgpLCBkaXJ0eVJlY3Qud2lkdGgoKSwgZGlydHlSZWN0LmhlaWdodCgpLCBiaXRtYXBE
QywKICAgICAgICAgICAgZGlydHlSZWN0LngoKSwgZGlydHlSZWN0LnkoKSwgU1JDQ09QWSk7CisK
KyAgICBtX25lZWRzRGlzcGxheSA9IGZhbHNlOwogfQogCiB2b2lkIFdlYlZpZXc6OmZyYW1lUmVj
dChSRUNUKiByZWN0KQpAQCAtMjQyNyw2ICsyNDQzLDEyIEBAIExSRVNVTFQgQ0FMTEJBQ0sgV2Vi
Vmlldzo6V2ViVmlld1duZFByb2MKICAgICAgICAgICAgIGJyZWFrOwogICAgIH0KIAorICAgIGlm
ICh3ZWJWaWV3LT5uZWVkc0Rpc3BsYXkoKSkgeworICAgICAgICB3ZWJWaWV3LT5wYWludCgwLCAw
KTsKKyAgICAgICAgaWYgKHdlYlZpZXctPnVzZXNMYXllcmVkV2luZG93KCkpCisgICAgICAgICAg
ICB3ZWJWaWV3LT5wZXJmb3JtTGF5ZXJlZFdpbmRvd1VwZGF0ZSgpOworICAgIH0KKwogICAgIGlm
ICghaGFuZGxlZCkKICAgICAgICAgbFJlc3VsdCA9IERlZldpbmRvd1Byb2MoaFduZCwgbWVzc2Fn
ZSwgd1BhcmFtLCBsUGFyYW0pOwogICAgIApJbmRleDogU291cmNlL1dlYktpdC93aW4vV2ViVmll
dy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuaAkocmV2aXNpb24g
MTU1ODY2KQorKysgU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5oCSh3b3JraW5nIGNvcHkpCkBA
IC04ODksNiArODg5LDcgQEAgcHVibGljOgogCiAgICAgYm9vbCB0cmFuc3BhcmVudCgpIGNvbnN0
IHsgcmV0dXJuIG1fdHJhbnNwYXJlbnQ7IH0KICAgICBib29sIHVzZXNMYXllcmVkV2luZG93KCkg
Y29uc3QgeyByZXR1cm4gbV91c2VzTGF5ZXJlZFdpbmRvdzsgfQorICAgIGJvb2wgbmVlZHNEaXNw
bGF5KCkgY29uc3QgeyByZXR1cm4gbV9uZWVkc0Rpc3BsYXk7IH0KIAogICAgIGJvb2wgb25JTUVT
dGFydENvbXBvc2l0aW9uKCk7CiAgICAgYm9vbCBvbklNRUNvbXBvc2l0aW9uKExQQVJBTSk7CkBA
IC0xMTYxLDYgKzExNjIsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICBib29sIG1fbmV4dERpc3BsYXlJ
c1N5bmNocm9ub3VzOwogICAgIGJvb2wgbV91c2VzTGF5ZXJlZFdpbmRvdzsKKyAgICBib29sIG1f
bmVlZHNEaXNwbGF5OwogCiAgICAgSENVUlNPUiBtX2xhc3RTZXRDdXJzb3I7CiAK
</data>
<flag name="review"
          id="233952"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>