<?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>71381</bug_id>
          
          <creation_ts>2011-11-02 11:59:52 -0700</creation_ts>
          <short_desc>[chromium] Notify scheduler on SwapBuffers in threaded compositor mode</short_desc>
          <delta_ts>2011-11-03 17:31:39 -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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>71515</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="James Robinson">jamesr</reporter>
          <assigned_to name="James Robinson">jamesr</assigned_to>
          <cc>kbr</cc>
    
    <cc>nduca</cc>
    
    <cc>vangelis</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>494782</commentid>
    <comment_count>0</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-11-02 11:59:52 -0700</bug_when>
    <thetext>[chromium] Notify scheduler on SwapBuffers in threaded compositor mode</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494783</commentid>
    <comment_count>1</comment_count>
      <attachid>113346</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-11-02 12:00:13 -0700</bug_when>
    <thetext>Created attachment 113346
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494790</commentid>
    <comment_count>2</comment_count>
    <who name="Nat Duca">nduca</who>
    <bug_when>2011-11-02 12:11:25 -0700</bug_when>
    <thetext>Recapping the verbal conversation, I think if we move the body of drawLayersAndSwap into scheduledActionDraw, then the proxy will never draw except as directed by the scheduler. At that point, we can make CCScheduler::ProcessCommands call FrameRateControll::didBeginFrame right

Testing this might require that we make FRC fake-able. :/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494910</commentid>
    <comment_count>3</comment_count>
      <attachid>113378</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-11-02 14:29:15 -0700</bug_when>
    <thetext>Created attachment 113378
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494911</commentid>
    <comment_count>4</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-11-02 14:29:35 -0700</bug_when>
    <thetext>Is this what you had in mind? The magic number &apos;2&apos; is now more of a magic number but I&apos;m not quite sure where to put it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494924</commentid>
    <comment_count>5</comment_count>
      <attachid>113378</attachid>
    <who name="Nat Duca">nduca</who>
    <bug_when>2011-11-02 14:41:19 -0700</bug_when>
    <thetext>Comment on attachment 113378
Patch

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

&gt; Source/WebCore/platform/graphics/chromium/cc/CCThreadProxy.cpp:510
&gt; +    }

What about setting this when the frame rate controller in initializeImplOnImplThread, around line 510. Right after the frameRateController creation, just use m_layerTreeHostImpl-&gt;layerRendererCapabilities().

My [informal] goal would be that the CCScheduler doesn&apos;t ever have to know how the FrameRateController is configured.

Alternatively, if you&apos;re concerned about context-lost case, you could add a frameRateController() accessor on CCScheduler, and then grab it and configure it directly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495832</commentid>
    <comment_count>6</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-11-03 15:48:26 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 113378 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=113378&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/chromium/cc/CCThreadProxy.cpp:510
&gt; &gt; +    }
&gt; 
&gt; What about setting this when the frame rate controller in initializeImplOnImplThread, around line 510. Right after the frameRateController creation, just use m_layerTreeHostImpl-&gt;layerRendererCapabilities().
&gt; 

Can&apos;t do that, the layer renderer isn&apos;t initialized at that point.  We initialize the proxy, including creating the frame rate controller and scheduler, before initializing LRC or any GL stuff.

I could change the initialization order around, possibly, but that might be complicated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495837</commentid>
    <comment_count>7</comment_count>
    <who name="Nat Duca">nduca</who>
    <bug_when>2011-11-03 15:57:34 -0700</bug_when>
    <thetext>&gt; I could change the initialization order around, possibly, but that might be complicated.

Good point. I&apos;ll fix that up, b71515. This looks good to go.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495838</commentid>
    <comment_count>8</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-11-03 16:02:48 -0700</bug_when>
    <thetext>Ken - mind doing an official review on this now that Nat&apos;s looked it over?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495858</commentid>
    <comment_count>9</comment_count>
      <attachid>113378</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-11-03 16:25:43 -0700</bug_when>
    <thetext>Comment on attachment 113378
Patch

Looks fine to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495922</commentid>
    <comment_count>10</comment_count>
      <attachid>113378</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-11-03 17:31:35 -0700</bug_when>
    <thetext>Comment on attachment 113378
Patch

Clearing flags on attachment: 113378

Committed r99253: &lt;http://trac.webkit.org/changeset/99253&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495923</commentid>
    <comment_count>11</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-11-03 17:31:39 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113346</attachid>
            <date>2011-11-02 12:00:13 -0700</date>
            <delta_ts>2011-11-02 14:29:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71381-20111102120012.patch</filename>
            <type>text/plain</type>
            <size>2896</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg5MjYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmOWRhODdhMDk2ODY4NmU1
Mzg3Mjk2NjZmYzk3MzQxYmRmMTIyZDgwLi4yMGQyZDYyY2Y0NmYyOGZjMjVhMGQ5YzNmZWZmNmMz
MzQ2ODE3MmQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMTEtMDIgIEphbWVz
IFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hyb21pdW1dIE5v
dGlmeSBzY2hlZHVsZXIgb24gU3dhcEJ1ZmZlcnMgaW4gdGhyZWFkZWQgY29tcG9zaXRvciBtb2Rl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTM4MQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTY2hlZHVsZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q0NTY2hlZHVsZXI6OmRpZFN3YXBCdWZmZXJzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ1NjaGVkdWxlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NU
aHJlYWRQcm94eTo6ZHJhd0xheWVyc0FuZFN3YXBPbkltcGxUaHJlYWQpOgorCiAyMDExLTEwLTMx
ICBUb21teSBXaWRlbmZseWNodCAgPHRvbW15d0Bnb29nbGUuY29tPgogCiAgICAgICAgIFtDaHJv
bWl1bV0gTWVkaWEgU3RyZWFtIEFQSTogYWRkIHRoZSBDaHJvbWl1bSBXZWJLaXQgaW50ZXJmYWNl
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NTY2hlZHVsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NTY2hlZHVsZXIuY3BwCmluZGV4IDUwZWUzYWIxNTFlZGJjZTdhZTNjYWM4M2Iy
Zjc0ODEwNTE5OTgwNTguLmMyY2RkNzQxMzkyNWUwNTdlODQ0OTZhOWVjZGJkNDc5ODk4YTY4Zjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDU2NoZWR1bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ1NjaGVkdWxlci5jcHAKQEAgLTcxLDYgKzcxLDEyIEBAIHZvaWQgQ0NTY2hl
ZHVsZXI6OmJlZ2luRnJhbWVDb21wbGV0ZSgpCiAgICAgcHJvY2Vzc1NjaGVkdWxlZEFjdGlvbnMo
Q0NTY2hlZHVsZXJTdGF0ZU1hY2hpbmU6OklNTUVESUFURV9TVEFURV9OT05FKTsKIH0KIAordm9p
ZCBDQ1NjaGVkdWxlcjo6ZGlkU3dhcEJ1ZmZlcnMoKQoreworICAgIFRSQUNFX0VWRU5UKCJDQ1Nj
aGVkdWxlcjo6ZGlkU3dhcEJ1ZmZlcnMiLCB0aGlzLCAwKTsKKyAgICBtX2ZyYW1lUmF0ZUNvbnRy
b2xsZXItPmRpZEJlZ2luRnJhbWUoKTsKK30KKwogdm9pZCBDQ1NjaGVkdWxlcjo6ZGlkU3dhcEJ1
ZmZlcnNDb21wbGV0ZSgpCiB7CiAgICAgVFJBQ0VfRVZFTlQoIkNDU2NoZWR1bGVyOjpkaWRTd2Fw
QnVmZmVyc0NvbXBsZXRlIiwgdGhpcywgMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NjaGVkdWxlci5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTY2hlZHVsZXIuaAppbmRleCAzODRh
NWU1OGM3MTY2NTZhNGM5MDllMjkyYTZhM2ZkYzZiNDliNTUwLi5mOTUxYmI1MGMyOGFlODQ1NDhm
YzU5MjA1NTMwNjg3OGQ2MjE3ZWZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NjaGVkdWxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2NoZWR1bGVyLmgKQEAgLTY0LDYgKzY0
LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBiZWdpbkZyYW1lQ29tcGxldGUoKTsKIAorICAgIHZv
aWQgZGlkU3dhcEJ1ZmZlcnMoKTsKICAgICB2b2lkIGRpZFN3YXBCdWZmZXJzQ29tcGxldGUoKTsK
ICAgICB2b2lkIGRpZFN3YXBCdWZmZXJzQWJvcnQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5
LmNwcAppbmRleCBmZmExNDY4ZjBjMzI5OWE3ZjZhYzkzYTI4MDJhMGU2M2UzYWFmZDZkLi4xZTNm
MWEwNWU4ZmM4YTczZTY3ODlkYTQzZWQxM2E3MjUzOTc4NDI3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RocmVh
ZFByb3h5LmNwcApAQCAtNDU5LDYgKzQ1OSw3IEBAIHZvaWQgQ0NUaHJlYWRQcm94eTo6ZHJhd0xh
eWVyc0FuZFN3YXBPbkltcGxUaHJlYWQoKQogICAgIH0KIAogICAgIG1fbGF5ZXJUcmVlSG9zdElt
cGwtPnN3YXBCdWZmZXJzKCk7CisgICAgbV9zY2hlZHVsZXJPbkltcGxUaHJlYWQtPmRpZFN3YXBC
dWZmZXJzKCk7CiAKICAgICAvLyBGSVhNRTogaGFuZGxlIGNhc2Ugd2hlcmUgbV9sYXllclRyZWVI
b3N0SW1wbC0+aXNDb250ZXh0TG9zdC4KICAgICAvLyBGSVhNRTogcGFzcyBkaWRTd2FwQnVmZmVy
c0Fib3J0IGlmIG1fbGF5ZXJUcmVlSG9zdEltcGwtPmlzQ29udGV4dExvc3QuCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113378</attachid>
            <date>2011-11-02 14:29:15 -0700</date>
            <delta_ts>2011-11-03 17:31:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71381-20111102142914.patch</filename>
            <type>text/plain</type>
            <size>9283</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg5MjYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmOWRhODdhMDk2ODY4NmU1
Mzg3Mjk2NjZmYzk3MzQxYmRmMTIyZDgwLi4yMGQyZDYyY2Y0NmYyOGZjMjVhMGQ5YzNmZWZmNmMz
MzQ2ODE3MmQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMTEtMDIgIEphbWVz
IFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hyb21pdW1dIE5v
dGlmeSBzY2hlZHVsZXIgb24gU3dhcEJ1ZmZlcnMgaW4gdGhyZWFkZWQgY29tcG9zaXRvciBtb2Rl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTM4MQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTY2hlZHVsZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q0NTY2hlZHVsZXI6OmRpZFN3YXBCdWZmZXJzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ1NjaGVkdWxlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NU
aHJlYWRQcm94eTo6ZHJhd0xheWVyc0FuZFN3YXBPbkltcGxUaHJlYWQpOgorCiAyMDExLTEwLTMx
ICBUb21teSBXaWRlbmZseWNodCAgPHRvbW15d0Bnb29nbGUuY29tPgogCiAgICAgICAgIFtDaHJv
bWl1bV0gTWVkaWEgU3RyZWFtIEFQSTogYWRkIHRoZSBDaHJvbWl1bSBXZWJLaXQgaW50ZXJmYWNl
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NGcmFtZVJhdGVDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDRnJhbWVSYXRlQ29udHJvbGxlci5jcHAKaW5kZXggOTY2NzQ3
YzlkM2I2ZTIxMWM3Zjk3N2NmZTZmNThhOGNlMzFmYWMwNi4uNWFjOTE4NjU4ZjNkMzdhYTE2YzJl
ZDgzZTFlNzE3YzgxZWYxZDIxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NGcmFtZVJhdGVDb250cm9sbGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0ZyYW1lUmF0ZUNvbnRy
b2xsZXIuY3BwCkBAIC01MCw2ICs1MCw3IEBAIHByaXZhdGU6CiBDQ0ZyYW1lUmF0ZUNvbnRyb2xs
ZXI6OkNDRnJhbWVSYXRlQ29udHJvbGxlcihQYXNzUmVmUHRyPENDVGltZVNvdXJjZT4gdGltZXIp
CiAgICAgOiBtX2NsaWVudCgwKQogICAgICwgbV9udW1GcmFtZXNQZW5kaW5nKDApCisgICAgLCBt
X21heEZyYW1lc1BlbmRpbmcoMCkKICAgICAsIG1fdGltZVNvdXJjZSh0aW1lcikKIHsKICAgICBt
X3RpbWVTb3VyY2VDbGllbnRBZGFwdGVyID0gQ0NGcmFtZVJhdGVDb250cm9sbGVyVGltZVNvdXJj
ZUFkYXB0ZXI6OmNyZWF0ZSh0aGlzKTsKQEAgLTYxLDEwICs2MiwxNSBAQCBDQ0ZyYW1lUmF0ZUNv
bnRyb2xsZXI6On5DQ0ZyYW1lUmF0ZUNvbnRyb2xsZXIoKQogICAgIG1fdGltZVNvdXJjZS0+c2V0
QWN0aXZlKGZhbHNlKTsKIH0KIAordm9pZCBDQ0ZyYW1lUmF0ZUNvbnRyb2xsZXI6OnNldE1heEZy
YW1lc1BlbmRpbmcoaW50IG1heEZyYW1lc1BlbmRpbmcpCit7CisgICAgbV9tYXhGcmFtZXNQZW5k
aW5nID0gbWF4RnJhbWVzUGVuZGluZzsKK30KKwogdm9pZCBDQ0ZyYW1lUmF0ZUNvbnRyb2xsZXI6
Om9uVGltZXJUaWNrKCkKIHsKICAgICAvLyBEb24ndCBmb3J3YXJkIHRoZSB0aWNrIGlmIHdlIGhh
dmUgdG9vIG1hbnkgZnJhbWVzIGluIGZsaWdodC4KLSAgICBpZiAobV9udW1GcmFtZXNQZW5kaW5n
ID49IGtNYXhGcmFtZXNQZW5kaW5nKQorICAgIGlmIChtX21heEZyYW1lc1BlbmRpbmcgJiYgbV9u
dW1GcmFtZXNQZW5kaW5nID49IG1fbWF4RnJhbWVzUGVuZGluZykKICAgICAgICAgcmV0dXJuOwog
CiAgICAgaWYgKG1fY2xpZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NGcmFtZVJhdGVDb250cm9sbGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0ZyYW1lUmF0ZUNvbnRyb2xsZXIu
aAppbmRleCA5ZjdmYTAxMGY1OTdkNjYwNTJlNzk4MWE2N2VlMmE3ZjJhZmVkNDgxLi5iMjI4MTIx
M2RhYWEwNjc4ZjBhNGRhM2U0OGZkNGJjZTcwYjljZTYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0ZyYW1lUmF0ZUNvbnRyb2xsZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0Zy
YW1lUmF0ZUNvbnRyb2xsZXIuaApAQCAtNTIsNiArNTIsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lk
IHNldEFjdGl2ZShib29sIGFjdGl2ZSkgeyBtX3RpbWVTb3VyY2UtPnNldEFjdGl2ZShhY3RpdmUp
OyB9CiAKKyAgICB2b2lkIHNldE1heFBlbmRpbmdGcmFtZXMoaW50KTsKICAgICAvLyBVc2UgdGhl
IGZvbGxvd2luZyBtZXRob2RzIHRvIGFkanVzdCB0YXJnZXQgZnJhbWUgcmF0ZS4KICAgICAvLwog
ICAgIC8vIE11bHRpcGxlIGZyYW1lcyBjYW4gYmUgaW4tcHJvZ3Jlc3MsIGJ1dCBmb3IgZXZlcnkg
ZGlkQmVnaW5GcmFtZSwgYQpAQCAtNjEsMTAgKzYyLDcgQEAgcHVibGljOgogICAgIHZvaWQgZGlk
QmVnaW5GcmFtZSgpOwogICAgIHZvaWQgZGlkRmluaXNoRnJhbWUoKTsKICAgICB2b2lkIGRpZEFi
b3J0QWxsUGVuZGluZ0ZyYW1lcygpOwotCi0gICAgZW51bSB7Ci0gICAgICAgIGtNYXhGcmFtZXNQ
ZW5kaW5nID0gMgotICAgIH07CisgICAgdm9pZCBzZXRNYXhGcmFtZXNQZW5kaW5nKGludCk7IC8v
IDAgZm9yIHVubGltaXRlZC4KIAogcHJvdGVjdGVkOgogICAgIGZyaWVuZCBjbGFzcyBDQ0ZyYW1l
UmF0ZUNvbnRyb2xsZXJUaW1lU291cmNlQWRhcHRlcjsKQEAgLTcyLDYgKzcwLDcgQEAgcHJvdGVj
dGVkOgogCiAgICAgQ0NGcmFtZVJhdGVDb250cm9sbGVyQ2xpZW50KiBtX2NsaWVudDsKICAgICBp
bnQgbV9udW1GcmFtZXNQZW5kaW5nOworICAgIGludCBtX21heEZyYW1lc1BlbmRpbmc7CiAgICAg
UmVmUHRyPENDVGltZVNvdXJjZT4gbV90aW1lU291cmNlOwogICAgIE93blB0cjxDQ0ZyYW1lUmF0
ZUNvbnRyb2xsZXJUaW1lU291cmNlQWRhcHRlcj4gbV90aW1lU291cmNlQ2xpZW50QWRhcHRlcjsK
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ1NjaGVkdWxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ1NjaGVkdWxlci5jcHAKaW5kZXggNTBlZTNhYjE1MWVkYmNlN2FlM2NhYzgz
YjJmNzQ4MTA1MTk5ODA1OC4uYzFlN2E3MDI2YTk1OTU3NmI5YmFjMzVjYTg3ODkzZDI1MjU3NjZl
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NTY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDU2NoZWR1bGVyLmNwcApAQCAtNzEsNiArNzEsMTEgQEAgdm9pZCBDQ1Nj
aGVkdWxlcjo6YmVnaW5GcmFtZUNvbXBsZXRlKCkKICAgICBwcm9jZXNzU2NoZWR1bGVkQWN0aW9u
cyhDQ1NjaGVkdWxlclN0YXRlTWFjaGluZTo6SU1NRURJQVRFX1NUQVRFX05PTkUpOwogfQogCit2
b2lkIENDU2NoZWR1bGVyOjpzZXRNYXhGcmFtZXNQZW5kaW5nKGludCBtYXhGcmFtZXNQZW5kaW5n
KQoreworICAgIG1fZnJhbWVSYXRlQ29udHJvbGxlci0+c2V0TWF4RnJhbWVzUGVuZGluZyhtYXhG
cmFtZXNQZW5kaW5nKTsKK30KKwogdm9pZCBDQ1NjaGVkdWxlcjo6ZGlkU3dhcEJ1ZmZlcnNDb21w
bGV0ZSgpCiB7CiAgICAgVFJBQ0VfRVZFTlQoIkNDU2NoZWR1bGVyOjpkaWRTd2FwQnVmZmVyc0Nv
bXBsZXRlIiwgdGhpcywgMCk7CkBAIC0xMTcsNiArMTIyLDcgQEAgdm9pZCBDQ1NjaGVkdWxlcjo6
cHJvY2Vzc1NjaGVkdWxlZEFjdGlvbnMoQ0NTY2hlZHVsZXJTdGF0ZU1hY2hpbmU6OkltbWVkaWF0
ZVN0YXQKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENDU2NoZWR1bGVyU3RhdGVN
YWNoaW5lOjpBQ1RJT05fRFJBVzoKICAgICAgICAgICAgIG1fY2xpZW50LT5zY2hlZHVsZWRBY3Rp
b25EcmF3QW5kU3dhcCgpOworICAgICAgICAgICAgbV9mcmFtZVJhdGVDb250cm9sbGVyLT5kaWRC
ZWdpbkZyYW1lKCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBtX3N0
YXRlTWFjaGluZS51cGRhdGVTdGF0ZShhY3Rpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTY2hlZHVsZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2NoZWR1bGVyLmgKaW5kZXgg
Mzg0YTVlNThjNzE2NjU2YTRjOTA5ZTI5MmE2YTNmZGM2YjQ5YjU1MC4uNWI2YzliYzkyNDMzODU1
M2ZkNThiODk5ZjgwOTk5Mzg5ZDY1OWMzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTY2hlZHVsZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NjaGVkdWxlci5oCkBAIC02NCw2
ICs2NCw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgYmVnaW5GcmFtZUNvbXBsZXRlKCk7CiAKKyAg
ICB2b2lkIHNldE1heEZyYW1lc1BlbmRpbmcoaW50KTsKICAgICB2b2lkIGRpZFN3YXBCdWZmZXJz
Q29tcGxldGUoKTsKICAgICB2b2lkIGRpZFN3YXBCdWZmZXJzQWJvcnQoKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQ
cm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q1RocmVhZFByb3h5LmNwcAppbmRleCBmZmExNDY4ZjBjMzI5OWE3ZjZhYzkzYTI4MDJhMGU2M2Uz
YWFmZDZkLi42NThlOWZjYjgxMjZmM2ZlODgwYTI5MGQwOGE3YTc3ZTg5Nzc5MDNjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RocmVh
ZFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ1RocmVhZFByb3h5LmNwcApAQCAtNDQxLDkgKzQ0MSw5IEBAIHZvaWQgQ0NUaHJlYWRQ
cm94eTo6c2NoZWR1bGVkQWN0aW9uQ29tbWl0KCkKICAgICBtX2NvbW1pdENvbXBsZXRpb25FdmVu
dE9uSW1wbFRocmVhZCA9IDA7CiB9CiAKLXZvaWQgQ0NUaHJlYWRQcm94eTo6ZHJhd0xheWVyc0Fu
ZFN3YXBPbkltcGxUaHJlYWQoKQordm9pZCBDQ1RocmVhZFByb3h5OjpzY2hlZHVsZWRBY3Rpb25E
cmF3QW5kU3dhcCgpCiB7Ci0gICAgVFJBQ0VfRVZFTlQoIkNDVGhyZWFkUHJveHk6OmRyYXdMYXll
cnNBbmRTd2FwT25JbXBsVGhyZWFkIiwgdGhpcywgMCk7CisgICAgVFJBQ0VfRVZFTlQoIkNDVGhy
ZWFkUHJveHk6OnNjaGVkdWxlZEFjdGlvbkRyYXdBbmRTd2FwIiwgdGhpcywgMCk7CiAgICAgQVNT
RVJUKGlzSW1wbFRocmVhZCgpKTsKICAgICBpZiAoIW1fbGF5ZXJUcmVlSG9zdEltcGwpCiAgICAg
ICAgIHJldHVybjsKQEAgLTUwMyw4ICs1MDMsMTEgQEAgdm9pZCBDQ1RocmVhZFByb3h5Ojppbml0
aWFsaXplTGF5ZXJSZW5kZXJlck9uSW1wbFRocmVhZChHcmFwaGljc0NvbnRleHQzRCogY29udGUK
ICAgICBBU1NFUlQoaXNJbXBsVGhyZWFkKCkpOwogICAgIFJlZlB0cjxHcmFwaGljc0NvbnRleHQz
RD4gY29udGV4dChhZG9wdFJlZihjb250ZXh0UHRyKSk7CiAgICAgKmluaXRpYWxpemVTdWNjZWVk
ZWQgPSBtX2xheWVyVHJlZUhvc3RJbXBsLT5pbml0aWFsaXplTGF5ZXJSZW5kZXJlcihjb250ZXh0
KTsKLSAgICBpZiAoKmluaXRpYWxpemVTdWNjZWVkZWQpCisgICAgaWYgKCppbml0aWFsaXplU3Vj
Y2VlZGVkKSB7CiAgICAgICAgICpjYXBhYmlsaXRpZXMgPSBtX2xheWVyVHJlZUhvc3RJbXBsLT5s
YXllclJlbmRlcmVyQ2FwYWJpbGl0aWVzKCk7CisgICAgICAgIGlmIChjYXBhYmlsaXRpZXMtPnVz
aW5nU3dhcENvbXBsZXRlQ2FsbGJhY2spCisgICAgICAgICAgICBtX3NjaGVkdWxlck9uSW1wbFRo
cmVhZC0+c2V0TWF4RnJhbWVzUGVuZGluZygyKTsKKyAgICB9CiAKICAgICBtX2lucHV0SGFuZGxl
ck9uSW1wbFRocmVhZCA9IENDSW5wdXRIYW5kbGVyOjpjcmVhdGUobV9sYXllclRyZWVIb3N0SW1w
bC5nZXQoKSk7CiAgICAgKmNvbXBvc2l0b3JJZGVudGlmaWVyID0gbV9pbnB1dEhhbmRsZXJPbklt
cGxUaHJlYWQtPmlkZW50aWZpZXIoKTsKQEAgLTUyMywxMCArNTI2LDQgQEAgdm9pZCBDQ1RocmVh
ZFByb3h5OjpsYXllclRyZWVIb3N0Q2xvc2VkT25JbXBsVGhyZWFkKENDQ29tcGxldGlvbkV2ZW50
KiBjb21wbGV0aW8KICAgICBjb21wbGV0aW9uLT5zaWduYWwoKTsKIH0KIAotdm9pZCBDQ1RocmVh
ZFByb3h5OjpzY2hlZHVsZWRBY3Rpb25EcmF3QW5kU3dhcCgpCi17Ci0gICAgVFJBQ0VfRVZFTlQo
IkNDVGhyZWFkUHJveHk6OnNjaGVkdWxlZEFjdGlvbkRyYXdBbmRTd2FwIiwgdGhpcywgMCk7Ci0g
ICAgZHJhd0xheWVyc0FuZFN3YXBPbkltcGxUaHJlYWQoKTsKLX0KLQogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NUaHJlYWRQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5oCmluZGV4IDBhNTg4YWRkNjk3ZWVlNzAxZmQ5
YjE0ZjZhZjEzMDc3ZGQ4YmZhM2EuLjZmMTkzZjgwOGNmN2EzNzAzMTI3MjBiMGE5NGZlM2I5MzNm
ZjU3NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDVGhyZWFkUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5LmgKQEAgLTk0LDggKzk0LDYgQEAgcHJpdmF0
ZToKICAgICBQYXNzT3duUHRyPENDTWFpblRocmVhZDo6VGFzaz4gY3JlYXRlQmVnaW5GcmFtZUFu
ZENvbW1pdFRhc2tPbkltcGxUaHJlYWQoKTsKICAgICB2b2lkIG9idGFpbkJlZ2luRnJhbWVBbmRD
b21taXRUYXNrRnJvbUNDVGhyZWFkKENDQ29tcGxldGlvbkV2ZW50KiwgQ0NNYWluVGhyZWFkOjpU
YXNrKiopOwogICAgIHZvaWQgYmVnaW5GcmFtZUNvbXBsZXRlT25JbXBsVGhyZWFkKENDQ29tcGxl
dGlvbkV2ZW50Kik7Ci0gICAgdm9pZCBkcmF3TGF5ZXJzQW5kU3dhcE9uSW1wbFRocmVhZCgpOwot
ICAgIHZvaWQgZHJhd0xheWVyc09uSW1wbFRocmVhZCgpOwogICAgIHZvaWQgcmVxdWVzdFJlYWRi
YWNrT25JbXBsVGhyZWFkKFJlYWRiYWNrUmVxdWVzdCopOwogICAgIHZvaWQgZmluaXNoQWxsUmVu
ZGVyaW5nT25JbXBsVGhyZWFkKENDQ29tcGxldGlvbkV2ZW50Kik7CiAgICAgdm9pZCBpbml0aWFs
aXplSW1wbE9uSW1wbFRocmVhZChDQ0NvbXBsZXRpb25FdmVudCopOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0ZyYW1lUmF0ZUNvbnRyb2xsZXJUZXN0LmNwcCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NGcmFtZVJhdGVDb250cm9sbGVyVGVzdC5j
cHAKaW5kZXggY2Y3NzZjOWNlNzc0MzYyNGQxMTRiMmU3Nzg1ZmY1MTJjMjYwYWY5NC4uYWU0M2Q0
MWMxY2UwM2FiNzFlYzcwYjBjNzU3YjFlYTM3NmQwYTBlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS90ZXN0cy9DQ0ZyYW1lUmF0ZUNvbnRyb2xsZXJUZXN0LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDRnJhbWVSYXRlQ29udHJvbGxlclRlc3QuY3Bw
CkBAIC04NSw5ICs4NSw2IEBAIFRFU1QoQ0NGcmFtZVJhdGVDb250cm9sbGVyVGVzdCwgVGVzdEZy
YW1lVGhyb3R0bGluZ19JbW1lZGlhdGVBY2spCiAKIFRFU1QoQ0NGcmFtZVJhdGVDb250cm9sbGVy
VGVzdCwgVGVzdEZyYW1lVGhyb3R0bGluZ19Ud29GcmFtZXNJbkZsaWdodCkKIHsKLSAgICAvLyBU
aGlzIHRlc3Qgb25seSB3b3JrcyBmb3IgdGhlIGNhc2Ugb2Yga01heEZyYW1lc1BlbmRpbmcgPSAy
Ci0gICAgQVNTRVJUX0VRKDIsIENDRnJhbWVSYXRlQ29udHJvbGxlcjo6a01heEZyYW1lc1BlbmRp
bmcpOwotCiAgICAgRmFrZUNDVGhyZWFkIHRocmVhZDsKICAgICBGYWtlQ0NGcmFtZVJhdGVDb250
cm9sbGVyQ2xpZW50IGNsaWVudDsKICAgICBSZWZQdHI8RmFrZUNDRGVsYXlCYXNlZFRpbWVTb3Vy
Y2U+IHRpbWVTb3VyY2UgPSBGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJjZTo6Y3JlYXRlKDEwMDAu
MCAvIDYwLjAsICZ0aHJlYWQpOwpAQCAtOTUsNiArOTIsNyBAQCBURVNUKENDRnJhbWVSYXRlQ29u
dHJvbGxlclRlc3QsIFRlc3RGcmFtZVRocm90dGxpbmdfVHdvRnJhbWVzSW5GbGlnaHQpCiAKICAg
ICBjb250cm9sbGVyLnNldENsaWVudCgmY2xpZW50KTsKICAgICBjb250cm9sbGVyLnNldEFjdGl2
ZSh0cnVlKTsKKyAgICBjb250cm9sbGVyLnNldE1heEZyYW1lc1BlbmRpbmcoMik7CiAKICAgICBk
b3VibGUgZWxhcHNlZCA9IDA7IC8vIE11Y2sgYXJvdW5kIHdpdGggdGltZSBhIGJpdAogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDU2NoZWR1bGVyVGVzdC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDU2NoZWR1bGVyVGVzdC5jcHAKaW5kZXgg
ODg2Y2I5MTM4MjEwNmU1ZWFlMDg5ZWMzYTU4MzQ2YzMxYjBkOTE1ZC4uNjRhMGMxOTlhNWU2ZjBh
MDBlZDU0M2Y1MmQ5MGMxNmU3MThjNDQ4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS90ZXN0cy9DQ1NjaGVkdWxlclRlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vdGVzdHMvQ0NTY2hlZHVsZXJUZXN0LmNwcApAQCAtMTI3LDQgKzEyNyw4IEBAIFRFU1QoQ0NT
Y2hlZHVsZXJUZXN0LCBSZXF1ZXN0UmVkcmF3KQogewogfQogCitURVNUKENDU2NoZWR1bGVyVGVz
dCwgUmVxdWVzdFJlZHJhd1dpdGhUd29GcmFtZXNQZW5kaW5nKQoreworfQorCiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>