<?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>81779</bug_id>
          
          <creation_ts>2012-03-21 07:33:59 -0700</creation_ts>
          <short_desc>[GTK] Scrolling doesn&apos;t work in WebKit2 since r110185</short_desc>
          <delta_ts>2012-04-04 03:29:46 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>jamesr</cc>
    
    <cc>mrobinson</cc>
    
    <cc>scottbyer</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>584118</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-03-21 07:33:59 -0700</bug_when>
    <thetext>Bug #16123 broke WebKit scrolling. For some reason the None scroll animator doesn&apos;t work for us in WebKit2. The only way to scroll is by using the scrollbars, but mouse wheel or keys don&apos;t work at all</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584171</commentid>
    <comment_count>1</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-03-21 08:49:44 -0700</bug_when>
    <thetext>Works well with r109584, performing a bisection.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584173</commentid>
    <comment_count>2</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-03-21 08:52:32 -0700</bug_when>
    <thetext>It works for me if I set m_scrollAnimatorEnabled to false in Settings, so I assumed r109584 introduced the regression.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584177</commentid>
    <comment_count>3</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-03-21 08:56:05 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; It works for me if I set m_scrollAnimatorEnabled to false in Settings, so I assumed r109584 introduced the regression.

Does that bring back only the simple scrolling capability or the entire smoothing effect?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584181</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-03-21 08:58:31 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; It works for me if I set m_scrollAnimatorEnabled to false in Settings, so I assumed r109584 introduced the regression.
&gt; 
&gt; Does that bring back only the simple scrolling capability or the entire smoothing effect?

I think it uses the old simple scrolling, by using ScrollAnimator::scroll() instead of ScrollAnimatorNone::scroll()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584206</commentid>
    <comment_count>5</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-03-21 09:17:28 -0700</bug_when>
    <thetext>FWIW, the same problem occurs in WebKit1 as well when enable-smooth-scrolling setting is set to true.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584212</commentid>
    <comment_count>6</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-03-21 09:21:53 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; FWIW, the same problem occurs in WebKit1 as well when enable-smooth-scrolling setting is set to true.

That makes more sense. We are very late in the release cycle, I&apos;ve added this bug to the list of things to fix before 1.8

https://trac.webkit.org/wiki/WebKitGTK/1.8.x</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584224</commentid>
    <comment_count>7</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-03-21 09:34:48 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; FWIW, the same problem occurs in WebKit1 as well when enable-smooth-scrolling setting is set to true.
&gt; 
&gt; That makes more sense. We are very late in the release cycle, I&apos;ve added this bug to the list of things to fix before 1.8
&gt; 
&gt; https://trac.webkit.org/wiki/WebKitGTK/1.8.x

Sorry, Zan told me that smooth scrolling didn&apos;t land in the branch, so I&apos;ve just removed the bug from the wiki page.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>585055</commentid>
    <comment_count>8</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-03-22 01:18:49 -0700</bug_when>
    <thetext>The offending commit is r110185
http://trac.webkit.org/changeset/110185

Changes made cause the animation scheduling to be done through ChromeClient only if the port is using display refresh monitor. Gtk is currently using display refresh timer (sort of a fallback), which was not accounted for in that revision. That&apos;s causing the scrolling animations not to be scheduled and done.

There&apos;s two ways of fixing this - use another timer in Chrome class in case the port is not using the display refresh monitor, or try to implement a display refresh monitor for the Gtk port.

I&apos;ve looked up in Chromium how the display refresh monitor is done there. It seems that if the --disable-gpu-vsync switch is present, the animation interval is 0, meaning animation updates are made as fast as possible. Otherwise they&apos;re aiming for the standard 60FPS with animation intervals of 16 milliseconds.

If we&apos;d be following that approach, implementing the display refresh monitor would be pretty straightforward, at least in WebKit1. I&apos;d like some opinion before approaching this, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>585269</commentid>
    <comment_count>9</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-03-22 07:43:48 -0700</bug_when>
    <thetext>(In reply to comment #8)

&gt; I&apos;ve looked up in Chromium how the display refresh monitor is done there. It seems that if the --disable-gpu-vsync switch is present, the animation interval is 0, meaning animation updates are made as fast as possible. Otherwise they&apos;re aiming for the standard 60FPS with animation intervals of 16 milliseconds.

My understanding is that GPU Vsync doesn&apos;t really make as much sense in composited window managers. I I could be mistaken, but it makes sense to have an appropriate fallback for when the hardware support isn&apos;t present.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>592161</commentid>
    <comment_count>10</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-03-30 07:46:24 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Changes made cause the animation scheduling to be done through ChromeClient only if the port is using display refresh monitor. Gtk is currently using display refresh timer (sort of a fallback), which was not accounted for in that revision. That&apos;s causing the scrolling animations not to be scheduled and done.
&gt; 

I actually got this part wrong. Chromium doesn&apos;t use neither display refresh monitor nor the refresh timer, but pipes the request through to ChromeClient (the WebViewImpl[1]). The request is then handled in Chromium and WebViewImpl::updateAnimations[2] is called, relaying the animation serving request back to FrameView.

I wonder if it would make sense to go along a similar way, exposing some API through which user would be able to throttle animation updates to desired refresh rate, enable vsync (if applicable) etc.

[1] http://trac.webkit.org/browser/trunk/Source/WebKit/chromium/src/WebViewImpl.cpp#L3207
[2] http://trac.webkit.org/browser/trunk/Source/WebKit/chromium/src/WebViewImpl.cpp#L1368</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593196</commentid>
    <comment_count>11</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-04-01 23:33:24 -0700</bug_when>
    <thetext>I would focus on making scrolling work again and then look for a solution to use the scroll animator, it&apos;s been broken for two weeks now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>594632</commentid>
    <comment_count>12</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-04-03 10:44:44 -0700</bug_when>
    <thetext>CC-ing author and reviewer from bug #78938 from which r110185 landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>594633</commentid>
    <comment_count>13</comment_count>
      <attachid>135361</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-04-03 10:45:11 -0700</bug_when>
    <thetext>Created attachment 135361
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>594640</commentid>
    <comment_count>14</comment_count>
    <who name="Scott Byer">scottbyer</who>
    <bug_when>2012-04-03 10:55:24 -0700</bug_when>
    <thetext>What are the downstream products of the GTK port that need this in the short term, and can&apos;t deal with temporarily disabling the scroll animator?

The self-timer was always meant to be a short-term stopover, getting the animation timer going for GTK is definitely the better way forward.

If it&apos;s critical, this looks OK (an earlier patch in bug #78938 had the code like this).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>594653</commentid>
    <comment_count>15</comment_count>
      <attachid>135361</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-04-03 11:09:50 -0700</bug_when>
    <thetext>Comment on attachment 135361
Patch

Looks OK.  A Timer is gonna give you very janky animations, though, you really want to be tied in to the rendering loop of the consumer (window manager or higher level application) to get smoothness.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595376</commentid>
    <comment_count>16</comment_count>
      <attachid>135361</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-04 03:29:41 -0700</bug_when>
    <thetext>Comment on attachment 135361
Patch

Clearing flags on attachment: 135361

Committed r113161: &lt;http://trac.webkit.org/changeset/113161&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595377</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-04 03:29:46 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135361</attachid>
            <date>2012-04-03 10:45:11 -0700</date>
            <delta_ts>2012-04-04 03:29:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81779-20120403194504.patch</filename>
            <type>text/plain</type>
            <size>6084</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzMDQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmIzNjE3NzYxNmUwYzQ2
YTc2MTgwNzM1OTVhOTJlZmE0N2RlNmQ3YS4uNTk1NTA4OTdlODYyNTQ5ZGZmNzVhYjI1OWEwNDY0
ZTkxOWNiMjdiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA0LTAzICBaYW4g
RG9iZXJzZWsgIDx6YW5kb2JlcnNla0BnbWFpbC5jb20+CisKKyAgICAgICAgW0dUS10gU2Nyb2xs
aW5nIGRvZXNuJ3Qgd29yayBpbiBXZWJLaXQyIHNpbmNlIHIxMTAxODUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxNzc5CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQnJpbmcgYmFjayBmdW5jdGlvbmFsaXR5
IG9mIHRoZSBTY3JvbGxBbmltYXRvck5vbmUgZm9yIHBvcnRzIHRoYXQKKyAgICAgICAgdXNlIGEg
ZmFsbGJhY2sgdGltZXIgZm9yIGFuaW1hdGlvbiBmcmFtZXMuCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzIC0gb25seSByZXN0b3JpbmcgcHJldmlvdXMgZnVuY3Rpb25hbGl0eS4KKworICAgICAgICAq
IHBsYXRmb3JtL1Njcm9sbEFuaW1hdG9yTm9uZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxBbmltYXRvck5vbmU6OlNjcm9sbEFuaW1hdG9yTm9uZSk6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxBbmltYXRvck5vbmU6OmZpcmVVcEFuQW5pbWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JOb25lOjphbmltYXRpb25UaW1lckZp
cmVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yTm9uZTo6c3RhcnROZXh0VGlt
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JOb25lOjphbmltYXRpb25UaW1l
ckFjdGl2ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvck5vbmU6OnN0b3BBbmlt
YXRpb25UaW1lcklmTmVlZGVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRvck5v
bmUuaDoKKyAgICAgICAgKFNjcm9sbEFuaW1hdG9yTm9uZSk6CisKIDIwMTItMDQtMDMgIEFuZHJl
eSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9y
OiByZW1vdmUgdW51c2VkIHJlZmVyZW5jZXMgdG8gVGltZWxpbmVDYWxjdWxhdG9yCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvck5vbmUuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3JOb25lLmNwcAppbmRleCA1MGZlZGY2
YmQ3NDFhY2M2ZjIyMTBiOWRkZTI3OWQ2NDNkNjcyMjQ3Li5hZDc5MTRmYTI3MzczNjE2NTMxOTYx
NzhlNTNkZDdkNzM2YmU5N2Q0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxBbmltYXRvck5vbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bEFuaW1hdG9yTm9uZS5jcHAKQEAgLTM4MSw3ICszODEsMTEgQEAgU2Nyb2xsQW5pbWF0b3JOb25l
OjpTY3JvbGxBbmltYXRvck5vbmUoU2Nyb2xsYWJsZUFyZWEqIHNjcm9sbGFibGVBcmVhKQogICAg
ICwgbV9ob3Jpem9udGFsRGF0YSh0aGlzLCAmbV9jdXJyZW50UG9zWCwgc2Nyb2xsYWJsZUFyZWEt
PnZpc2libGVXaWR0aCgpKQogICAgICwgbV92ZXJ0aWNhbERhdGEodGhpcywgJm1fY3VycmVudFBv
c1ksIHNjcm9sbGFibGVBcmVhLT52aXNpYmxlSGVpZ2h0KCkpCiAgICAgLCBtX3N0YXJ0VGltZSgw
KQorI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9USU1FUikKKyAgICAsIG1fYW5pbWF0
aW9uVGltZXIodGhpcywgJlNjcm9sbEFuaW1hdG9yTm9uZTo6YW5pbWF0aW9uVGltZXJGaXJlZCkK
KyNlbHNlCiAgICAgLCBtX2FuaW1hdGlvbkFjdGl2ZShmYWxzZSkKKyNlbmRpZgogICAgICwgbV9m
aXJzdFZlbG9jaXR5KDApCiAgICAgLCBtX2ZpcnN0VmVsb2NpdHlTZXQoZmFsc2UpCiAgICAgLCBt
X2ZpcnN0VmVsb2NpdHlJc1ZlcnRpY2FsKGZhbHNlKQpAQCAtMzk4LDcgKzQwMiwxMSBAQCB2b2lk
IFNjcm9sbEFuaW1hdG9yTm9uZTo6ZmlyZVVwQW5BbmltYXRpb24oRmxvYXRQb2ludCBmcCkKICAg
ICBpZiAobV9nZXN0dXJlQW5pbWF0aW9uKQogICAgICAgICBtX2dlc3R1cmVBbmltYXRpb24uY2xl
YXIoKTsKICAgICBtX2dlc3R1cmVBbmltYXRpb24gPSBBY3RpdmVQbGF0Zm9ybUdlc3R1cmVBbmlt
YXRpb246OmNyZWF0ZShUb3VjaHBhZEZsaW5nUGxhdGZvcm1HZXN0dXJlQ3VydmU6OmNyZWF0ZShm
cCksIHRoaXMpOworI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9USU1FUikKKyAgICBz
dGFydE5leHRUaW1lcigwKTsKKyNlbHNlCiAgICAgc3RhcnROZXh0VGltZXIoKTsKKyNlbmRpZgog
fQogCiBib29sIFNjcm9sbEFuaW1hdG9yTm9uZTo6c2Nyb2xsKFNjcm9sbGJhck9yaWVudGF0aW9u
IG9yaWVudGF0aW9uLCBTY3JvbGxHcmFudWxhcml0eSBncmFudWxhcml0eSwgZmxvYXQgc3RlcCwg
ZmxvYXQgbXVsdGlwbGllcikKQEAgLTQ3OSw2ICs0ODcsNyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9y
Tm9uZTo6c2Nyb2xsVG9PZmZzZXRXaXRob3V0QW5pbWF0aW9uKGNvbnN0IEZsb2F0UG9pbnQmIG9m
ZnNldAogICAgIG5vdGlmeVBvc2l0aW9uQ2hhbmdlZCgpOwogfQogCisjaWYgIVVTRShSRVFVRVNU
X0FOSU1BVElPTl9GUkFNRV9USU1FUikKIHZvaWQgU2Nyb2xsQW5pbWF0b3JOb25lOjpjYW5jZWxB
bmltYXRpb25zKCkKIHsKICAgICBtX2FuaW1hdGlvbkFjdGl2ZSA9IGZhbHNlOwpAQCAtNDkwLDYg
KzQ5OSw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JOb25lOjpzZXJ2aWNlU2Nyb2xsQW5pbWF0aW9u
cygpCiAgICAgaWYgKG1fYW5pbWF0aW9uQWN0aXZlKQogICAgICAgICBhbmltYXRpb25UaW1lckZp
cmVkKCk7CiB9CisjZW5kaWYKIAogdm9pZCBTY3JvbGxBbmltYXRvck5vbmU6OndpbGxFbmRMaXZl
UmVzaXplKCkKIHsKQEAgLTUxMiw2ICs1MjIsMTMgQEAgdm9pZCBTY3JvbGxBbmltYXRvck5vbmU6
OnVwZGF0ZVZpc2libGVMZW5ndGhzKCkKICAgICBtX3ZlcnRpY2FsRGF0YS51cGRhdGVWaXNpYmxl
TGVuZ3RoKHNjcm9sbGFibGVBcmVhKCktPnZpc2libGVIZWlnaHQoKSk7CiB9CiAKKyNpZiBVU0Uo
UkVRVUVTVF9BTklNQVRJT05fRlJBTUVfVElNRVIpCit2b2lkIFNjcm9sbEFuaW1hdG9yTm9uZTo6
YW5pbWF0aW9uVGltZXJGaXJlZChUaW1lcjxTY3JvbGxBbmltYXRvck5vbmU+KiB0aW1lcikKK3sK
KyAgICBhbmltYXRpb25UaW1lckZpcmVkKCk7Cit9CisjZW5kaWYKKwogdm9pZCBTY3JvbGxBbmlt
YXRvck5vbmU6OmFuaW1hdGlvblRpbWVyRmlyZWQoKQogewogI2lmIFBMQVRGT1JNKENIUk9NSVVN
KQpAQCAtNTM2LDkgKzU1MywxMyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yTm9uZTo6YW5pbWF0aW9u
VGltZXJGaXJlZCgpCiAgICAgfQogCiAgICAgaWYgKGNvbnRpbnVlQW5pbWF0aW9uKQorI2lmIFVT
RShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9USU1FUikKKyAgICAgICAgc3RhcnROZXh0VGltZXIo
bWF4KGtNaW5pbXVtVGltZXJJbnRlcnZhbCwgZGVsdGFUb05leHRGcmFtZSkpOworI2Vsc2UKICAg
ICAgICAgc3RhcnROZXh0VGltZXIoKTsKICAgICBlbHNlCiAgICAgICAgIG1fYW5pbWF0aW9uQWN0
aXZlID0gZmFsc2U7CisjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENIUk9NSVVNKQogICAgIFRSQUNF
X0VWRU5UKCJTY3JvbGxBbmltYXRvck5vbmU6Om5vdGlmeVBvc2l0aW9uQ2hhbmdlZCIsIHRoaXMs
IDApOwpAQCAtNTQ2LDIxICs1NjcsMzYgQEAgdm9pZCBTY3JvbGxBbmltYXRvck5vbmU6OmFuaW1h
dGlvblRpbWVyRmlyZWQoKQogICAgIG5vdGlmeVBvc2l0aW9uQ2hhbmdlZCgpOwogfQogCisjaWYg
VVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX1RJTUVSKQordm9pZCBTY3JvbGxBbmltYXRvck5v
bmU6OnN0YXJ0TmV4dFRpbWVyKGRvdWJsZSBkZWxheSkKK3sKKyAgICBtX2FuaW1hdGlvblRpbWVy
LnN0YXJ0T25lU2hvdChkZWxheSk7Cit9CisjZWxzZQogdm9pZCBTY3JvbGxBbmltYXRvck5vbmU6
OnN0YXJ0TmV4dFRpbWVyKCkKIHsKICAgICBpZiAoc2Nyb2xsYWJsZUFyZWEoKS0+c2NoZWR1bGVB
bmltYXRpb24oKSkKICAgICAgICAgbV9hbmltYXRpb25BY3RpdmUgPSB0cnVlOwogfQorI2VuZGlm
CiAKIGJvb2wgU2Nyb2xsQW5pbWF0b3JOb25lOjphbmltYXRpb25UaW1lckFjdGl2ZSgpCiB7Cisj
aWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX1RJTUVSKQorICAgIHJldHVybiBtX2FuaW1h
dGlvblRpbWVyLmlzQWN0aXZlKCk7CisjZWxzZQogICAgIHJldHVybiBtX2FuaW1hdGlvbkFjdGl2
ZTsKKyNlbmRpZgogfQogCiB2b2lkIFNjcm9sbEFuaW1hdG9yTm9uZTo6c3RvcEFuaW1hdGlvblRp
bWVySWZOZWVkZWQoKQogewogICAgIGlmIChhbmltYXRpb25UaW1lckFjdGl2ZSgpKQorI2lmIFVT
RShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9USU1FUikKKyAgICAgICAgbV9hbmltYXRpb25UaW1l
ci5zdG9wKCk7CisjZWxzZQogICAgICAgICBtX2FuaW1hdGlvbkFjdGl2ZSA9IGZhbHNlOworI2Vu
ZGlmCiB9CiAKIHZvaWQgU2Nyb2xsQW5pbWF0b3JOb25lOjpzY3JvbGxCeShjb25zdCBJbnRQb2lu
dCYgbG9jYXRpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxB
bmltYXRvck5vbmUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yTm9u
ZS5oCmluZGV4IGM0N2JjYTk4NjA5YjRmMTc1ZDNlZDE0MTEzNTg2Mzk5M2IwNTJhYjEuLjVjZTkz
NWI5ZTVlNjFkOTVmZGE5ZmZjMDYwZWMxZTI5ZmI0OTBlYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yTm9uZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yTm9uZS5oCkBAIC01OSw4ICs1OSwxMCBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCBib29sIHNjcm9sbChTY3JvbGxiYXJPcmllbnRhdGlvbiwgU2Nyb2xsR3Jh
bnVsYXJpdHksIGZsb2F0IHN0ZXAsIGZsb2F0IG11bHRpcGxpZXIpOwogICAgIHZpcnR1YWwgdm9p
ZCBzY3JvbGxUb09mZnNldFdpdGhvdXRBbmltYXRpb24oY29uc3QgRmxvYXRQb2ludCYpOwogCisj
aWYgIVVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9USU1FUikKICAgICB2aXJ0dWFsIHZvaWQg
Y2FuY2VsQW5pbWF0aW9ucygpOwogICAgIHZpcnR1YWwgdm9pZCBzZXJ2aWNlU2Nyb2xsQW5pbWF0
aW9ucygpOworI2VuZGlmCiAKICAgICB2aXJ0dWFsIHZvaWQgd2lsbEVuZExpdmVSZXNpemUoKTsK
ICAgICB2aXJ0dWFsIHZvaWQgZGlkQWRkVmVydGljYWxTY3JvbGxiYXIoU2Nyb2xsYmFyKik7CkBA
IC0xNDEsNyArMTQzLDEyIEBAIHByb3RlY3RlZDoKICAgICAgICAgaW50IG1fdmlzaWJsZUxlbmd0
aDsKICAgICB9OwogCisjaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX1RJTUVSKQorICAg
IHZvaWQgYW5pbWF0aW9uVGltZXJGaXJlZChUaW1lcjxTY3JvbGxBbmltYXRvck5vbmU+Kik7Cisg
ICAgdm9pZCBzdGFydE5leHRUaW1lcihkb3VibGUgZGVsYXkpOworI2Vsc2UKICAgICB2b2lkIHN0
YXJ0TmV4dFRpbWVyKCk7CisjZW5kaWYKICAgICB2b2lkIGFuaW1hdGlvblRpbWVyRmlyZWQoKTsK
IAogICAgIHZvaWQgc3RvcEFuaW1hdGlvblRpbWVySWZOZWVkZWQoKTsKQEAgLTE1Myw3ICsxNjAs
MTEgQEAgcHJvdGVjdGVkOgogICAgIFBlckF4aXNEYXRhIG1fdmVydGljYWxEYXRhOwogCiAgICAg
ZG91YmxlIG1fc3RhcnRUaW1lOworI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9USU1F
UikKKyAgICBUaW1lcjxTY3JvbGxBbmltYXRvck5vbmU+IG1fYW5pbWF0aW9uVGltZXI7CisjZWxz
ZQogICAgIGJvb2wgbV9hbmltYXRpb25BY3RpdmU7CisjZW5kaWYKIAogICAgIGZsb2F0IG1fZmly
c3RWZWxvY2l0eTsKICAgICBib29sIG1fZmlyc3RWZWxvY2l0eVNldDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>