<?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>76105</bug_id>
          
          <creation_ts>2012-01-11 14:40:05 -0800</creation_ts>
          <short_desc>[mac] requestAnimationFrame sometimes stuck when page loads in a background tab</short_desc>
          <delta_ts>2012-04-05 15:42:58 -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="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>cmarrin</cc>
    
    <cc>dino</cc>
    
    <cc>gustavo</cc>
    
    <cc>jamesr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>534276</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-11 14:40:05 -0800</bug_when>
    <thetext>[mac] requestAnimationFrame sometimes stuck when page loads in a background ta
Requested by jamesr_ on #webkit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534277</commentid>
    <comment_count>1</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-01-11 14:41:25 -0800</bug_when>
    <thetext>Try loading https://bugs.webkit.org/attachment.cgi?id=122073 in a background tab in a WebKit nightly r104705, sometimes the animation gets stuck and stops advancing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>535091</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2012-01-12 13:04:52 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; Try loading https://bugs.webkit.org/attachment.cgi?id=122073 in a background tab in a WebKit nightly r104705, sometimes the animation gets stuck and stops advancing.

Thanks. If I drag this file to the empty space of the tab bar (thereby opening it in a background tab), it fails to animate. I tried 10 times in a row with the same results. If I then reload the page the animation occurs normally.

I think what&apos;s happening is that we fail to process the first rAF when starting up in the background and therefore no subsequent rAF calls will ever fire. I&apos;m not sure if this is because we are failing to recognize that an rAF need to be fired when we go out of suspend mode after startup, or if we&apos;re failing to come out of suspend mode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>592660</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2012-03-30 16:56:47 -0700</bug_when>
    <thetext>&lt;rdar://problem/11159733&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>592690</commentid>
    <comment_count>4</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-03-30 17:52:29 -0700</bug_when>
    <thetext>My debugging is showing me that rAF is in fact getting called constantly, even with the animation in a background tab. Or at least the ScriptedAnimationController is getting serviced constantly. Even when this is happening (visible or in bg), the page isn&apos;t updating.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>592700</commentid>
    <comment_count>5</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-03-30 18:05:31 -0700</bug_when>
    <thetext>Actually, it is called repeatedly while it is in the bg, and then freezes as soon as it comes to the foreground. It&apos;s doing the exact opposite of the intended behaviour :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>594931</commentid>
    <comment_count>6</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-04-03 14:56:19 -0700</bug_when>
    <thetext>Fixing the non-resume is pretty easy. There is another bug which is that bg tabs are never told they are non-visible, and hence the animation is running from the moment they are created. That&apos;s not quite true, in WK1 they are never told. In WK2 they are told, but there is not yet a ScriptedAnimationController associated with the Document, so the suspend is ignored.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595121</commentid>
    <comment_count>7</comment_count>
      <attachid>135480</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-04-03 18:46:03 -0700</bug_when>
    <thetext>Created attachment 135480
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595123</commentid>
    <comment_count>8</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-04-03 18:47:28 -0700</bug_when>
    <thetext>This patch should also fix &lt;rdar://problem/11103409&gt;

Chris, return from the dead and review this!!! :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595127</commentid>
    <comment_count>9</comment_count>
      <attachid>135480</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-04-03 18:56:07 -0700</bug_when>
    <thetext>Comment on attachment 135480
Patch

Attachment 135480 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/12317621</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595139</commentid>
    <comment_count>10</comment_count>
      <attachid>135480</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-04-03 19:09:54 -0700</bug_when>
    <thetext>Comment on attachment 135480
Patch

Attachment 135480 did not pass win-ews (win):
Output: http://queues.webkit.org/results/12320563</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595194</commentid>
    <comment_count>11</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-04-03 20:26:21 -0700</bug_when>
    <thetext>I had a patch series here:
https://bugs.webkit.org/show_bug.cgi?id=74232

and here:
https://bugs.webkit.org/show_bug.cgi?id=74165

that moved the controller up to Page, which makes a hell of a lot more sense and makes this bugfix easier.  I think that Chris Marrin didn&apos;t really like it, although I don&apos;t remember all the details.  I haven&apos;t had time to revive it and beef up the tests but we need to do that anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595322</commentid>
    <comment_count>12</comment_count>
      <attachid>135480</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-04-04 02:06:15 -0700</bug_when>
    <thetext>Comment on attachment 135480
Patch

Attachment 135480 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/12317801</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595770</commentid>
    <comment_count>13</comment_count>
      <attachid>135480</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-04-04 12:04:18 -0700</bug_when>
    <thetext>Comment on attachment 135480
Patch

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

You should look at James&apos;s patches and decide if their approach is better.

&gt; Source/WebCore/dom/Document.cpp:5606
&gt; +        if (!page() || page()-&gt;scriptedAnimationsSuspended())
&gt; +            m_scriptedAnimationController-&gt;suspend();

When we finally get a Page, are we doing to resume animations?

&gt; Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp:440
&gt; +    if (m_webPage-&gt;windowIsVisible())
&gt; +        m_webPage-&gt;corePage()-&gt;resumeScriptedAnimations();

It&apos;s a bit odd that RAF policy (not drawing in background windows) is enforced up here in DrawingArea, and not down in code closer to the RAF implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596002</commentid>
    <comment_count>14</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-04-04 15:10:14 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (From update of attachment 135480 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=135480&amp;action=review
&gt; 
&gt; You should look at James&apos;s patches and decide if their approach is better.

I will.

&gt; 
&gt; &gt; Source/WebCore/dom/Document.cpp:5606
&gt; &gt; +        if (!page() || page()-&gt;scriptedAnimationsSuspended())
&gt; &gt; +            m_scriptedAnimationController-&gt;suspend();
&gt; 
&gt; When we finally get a Page, are we doing to resume animations?

Yes. This will happen when the Page becomes visible.

BTW - it&apos;s unlikely there won&apos;t be a Page. This is really testing for the case where the Page suspended the animations before the controller existed. 


&gt; &gt; Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp:440
&gt; &gt; +    if (m_webPage-&gt;windowIsVisible())
&gt; &gt; +        m_webPage-&gt;corePage()-&gt;resumeScriptedAnimations();
&gt; 
&gt; It&apos;s a bit odd that RAF policy (not drawing in background windows) is enforced up here in DrawingArea, and not down in code closer to the RAF implementation.

Yeah.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596052</commentid>
    <comment_count>15</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-04-04 15:57:19 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; I had a patch series here:
&gt; https://bugs.webkit.org/show_bug.cgi?id=74232

I just r+ed this one.

&gt; and here:
&gt; https://bugs.webkit.org/show_bug.cgi?id=74165
&gt; 
&gt; that moved the controller up to Page, which makes a hell of a lot more sense and makes this bugfix easier.  I think that Chris Marrin didn&apos;t really like it, although I don&apos;t remember all the details.  I haven&apos;t had time to revive it and beef up the tests but we need to do that anyway.

I like this suggestion, so please revive it :)

However, I&apos;d like to land what I have now because we&apos;re getting a lot of crash reports internally. Yes, it will change a little with your patch but only a couple of lines.

Now I&apos;ll take a look at why it fails some tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596067</commentid>
    <comment_count>16</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-04-04 16:17:28 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; (In reply to comment #11)
&gt; &gt; I had a patch series here:
&gt; &gt; https://bugs.webkit.org/show_bug.cgi?id=74232
&gt; 
&gt; I just r+ed this one.
&gt; 
&gt; &gt; and here:
&gt; &gt; https://bugs.webkit.org/show_bug.cgi?id=74165
&gt; &gt; 
&gt; &gt; that moved the controller up to Page, which makes a hell of a lot more sense and makes this bugfix easier.  I think that Chris Marrin didn&apos;t really like it, although I don&apos;t remember all the details.  I haven&apos;t had time to revive it and beef up the tests but we need to do that anyway.
&gt; 
&gt; I like this suggestion, so please revive it :)
&gt; 
&gt; However, I&apos;d like to land what I have now because we&apos;re getting a lot of crash reports internally. Yes, it will change a little with your patch but only a couple of lines.

I approve of this plan!

&gt; 
&gt; Now I&apos;ll take a look at why it fails some tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596158</commentid>
    <comment_count>17</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-04-04 18:03:32 -0700</bug_when>
    <thetext>I think the test failures on win, qt and gtk are all unrelated to this. But I&apos;m going to resubmit just in case.

When testing locally I notice that fast/animation/request-animation-frame-during-modal.html can timeout, even though it works fine in Safari.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596173</commentid>
    <comment_count>18</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-04-04 18:11:50 -0700</bug_when>
    <thetext>(In reply to comment #17)

&gt; When testing locally I notice that fast/animation/request-animation-frame-during-modal.html can timeout, even though it works fine in Safari.

Ha. Of course this is exactly what this patch is fixing. The rAF callback shouldn&apos;t be called when the window is not visible (such as within DRT). The fact that it worked before is a bug. I&apos;ll have to work out how to get DRT/WTR to flag this case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596188</commentid>
    <comment_count>19</comment_count>
      <attachid>135737</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-04-04 18:19:47 -0700</bug_when>
    <thetext>Created attachment 135737
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596912</commentid>
    <comment_count>20</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-04-05 14:30:03 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/113381</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596971</commentid>
    <comment_count>21</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-04-05 15:42:58 -0700</bug_when>
    <thetext>Build fix for Windows with WK2
http://trac.webkit.org/changeset/113388</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135480</attachid>
            <date>2012-04-03 18:46:03 -0700</date>
            <delta_ts>2012-04-04 18:19:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76105-20120404114601.patch</filename>
            <type>text/plain</type>
            <size>7708</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyNjk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjQ5MGQxZWY2YzNiOTlh
YjgxM2Q1MmI4M2NmMzNjYWNiZGJlMjQ4My4uYTZhODczOGNhYWU1MTJjN2ExNjQ1NTQzNzBmZjY3
YTI5YzczNzNhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEyLTA0LTAzICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjXSByZXF1ZXN0QW5pbWF0
aW9uRnJhbWUgc29tZXRpbWVzIHN0dWNrIHdoZW4gcGFnZSBsb2FkcyBpbiBhIGJhY2tncm91bmQg
dGFiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEw
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCB0
aHJlZSBpc3N1ZXMgd2l0aCByZXF1ZXN0QW5pbWF0aW9uRnJhbWU6CisgICAgICAgIC0gSXQncyBw
b3NzaWJsZSBmb3IgdGhlIGNhbGwgdG8gckFGIHRvIGNvbWUgdG8gdGhlIGRvY3VtZW50IGJlZm9y
ZSB0aGVyZQorICAgICAgICAgIGlzIGEgcGFnZSBhc3NvY2lhdGVkLiBBZGRlZCBhIGd1YXJkIGZv
ciB0aGlzLgorICAgICAgICAtIEEgcGFnZSBtYXkgdHJ5IHRvIHN1c3BlbmQgdGhlIHNjcmlwdGVk
IGFuaW1hdGlvbnMgYmVmb3JlIHRoZQorICAgICAgICAgIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJv
bGxlciBleGlzdHMsIGluIHdoaWNoIGNhc2Ugd2UgbmVlZCB0bworICAgICAgICAgIHN1c3BlbmQg
aXQgaW1tZWRpYXRlbHkgYWZ0ZXIgaXQgaXMgY3JlYXRlZC4gRG8gdGhpcyBieSBrZWVwaW5nCisg
ICAgICAgICAgdHJhY2sgb2YgdGhlIHN0YXRlIGluIFBhZ2UuIE90aGVyd2lzZSByQUYgd291bGQg
YmUgYnVzeSBsb29waW5nCisgICAgICAgICAgb24gaGlkZGVuIHBhZ2VzIHVudGlsIHRoZXkgYXJl
IGJyb3VnaHQgdG8gdGhlIGZyb250IGFuZCBoaWRkZW4gYWdhaW4uCisgICAgICAgIC0gQSBwYWdl
IGNyZWF0ZWQgaW4gdGhlIGJhY2tncm91bmQgKGZyb20gV2ViS2l0MSkgZG9lcyBub3QgZ2V0Cisg
ICAgICAgICAgaW5mb3JtZWQgaXQgaXMgbm90IHZpc2libGUuIFRoaXMgY2FuIG1lYW4gdGhhdCBy
ZXN1bWUoKSBpcyBjYWxsZWQKKyAgICAgICAgICBtb3JlIHRpbWVzIHRoYW4gc3VzcGVuZCgpIGFu
ZCB3ZSBnZXQgaW50byBhIHN0YXRlIHdoZXJlIHRoZSBudW1iZXIKKyAgICAgICAgICBvZiBzdXNw
ZW5zaW9ucyBiZWNvbWVzIC0xLCBhbmQgdGh1cyBmYWlscyB0cnV0aGluZXNzIHRlc3RzLiBDbGFt
cCBpdAorICAgICAgICAgIHRvIHZhbHVlcyA+PSAwLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywg
c2luY2UgdGhpcyBpcyBub3QgYXV0b21hdGljYWxseSB0ZXN0YWJsZS4gVGhlIG1vc3QgcmVsaWFi
bGUgdGVzdAorICAgICAgICBpcyB0byBvcGVuIGEgcGFnZSB3aXRoIHJBRiBpbiBhIGJhY2tncm91
bmQgdGFiIHdpdGhpbiBTYWZhcmkuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OndlYmtpdFJlcXVlc3RBbmltYXRpb25GcmFtZSk6Cisg
ICAgICAgICogZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OnJlc3VtZSk6CisgICAgICAgICog
cGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OlBhZ2UpOgorICAgICAgICAo
V2ViQ29yZTo6UGFnZTo6c3VzcGVuZFNjcmlwdGVkQW5pbWF0aW9ucyk6CisgICAgICAgIChXZWJD
b3JlOjpQYWdlOjpyZXN1bWVTY3JpcHRlZEFuaW1hdGlvbnMpOgorICAgICAgICAqIHBhZ2UvUGFn
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c2NyaXB0ZWRBbmltYXRpb25zU3VzcGVuZGVk
KToKKyAgICAgICAgKFBhZ2UpOgorCiAyMDEyLTAzLTMwICBDaHJpcyBGbGVpemFjaCAgPGNmbGVp
emFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgQVg6IENyYXNoIGF0IFdlYkNvcmU6OnJlbmRlck9i
amVjdENvbnRhaW5zUG9zaXRpb24oV2ViQ29yZTo6UmVuZGVyT2JqZWN0KiwgV2ViQ29yZTo6UG9z
aXRpb24gY29uc3QmKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDFhYzM3MWI0MjZkNmNjYmZjOGMxNjNhNGIyZWYx
OTVkNGMzMDhhNTEuLmI2ODY5NzIwMWZlNjU5Y2YwOTJlNDMyMTgzYmY3OGM4YWQ1YWZhMTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0wNC0wMyAgRGVhbiBKYWNrc29uICA8ZGlu
b0BhcHBsZS5jb20+CisKKyAgICAgICAgW21hY10gcmVxdWVzdEFuaW1hdGlvbkZyYW1lIHNvbWV0
aW1lcyBzdHVjayB3aGVuIHBhZ2UgbG9hZHMgaW4gYSBiYWNrZ3JvdW5kIHRhYgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIHdlIGFyZSByZXN1bWlu
ZyBwYWludGluZyBvbmx5IHN0YXJ0IHRoZSBzY3JpcHRlZCBhbmltYXRpb25zCisgICAgICAgIGlm
IHdlJ3JlIGEgdmlzaWJsZSB3aW5kb3cuIFRoaXMgY2FuIGhhcHBlbiB3aGVuIHRhYnMgYXJlIG9w
ZW5lZAorICAgICAgICBpbiB0aGUgYmFja2dyb3VuZC4KKworICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJl
YUltcGw6OnJlc3VtZVBhaW50aW5nKToKKwogMjAxMi0wMy0zMCAgQWxsYW4gU2FuZGZlbGQgSmVu
c2VuICA8YWxsYW4uamVuc2VuQG5va2lhLmNvbT4KIAogICAgICAgICBbUXRdIEZpbmQgem9vbWFi
bGUgYXJlYSB1c2luZyBhcmVhLWJhc2VkIGhpdC10ZXN0aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cAppbmRleCA4NjdhOGQ2YTcxMjBlNDdkZTYyZDFjOWQxODBlZWFmNDliNTYyZDg1Li41NzY0ODNh
NWNjN2IxODhiMGU0Y2ZiM2QxMGRlNTM3M2EyZWE5MTUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAKQEAgLTU1OTUsMTAgKzU1OTUsMTUgQEAgaW50IERvY3VtZW50Ojp3ZWJraXRSZXF1ZXN0QW5p
bWF0aW9uRnJhbWUoUGFzc1JlZlB0cjxSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmEKIHsKICAg
ICBpZiAoIW1fc2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyKSB7CiAjaWYgVVNFKFJFUVVFU1Rf
QU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikKLSAgICAgICAgbV9zY3JpcHRlZEFuaW1h
dGlvbkNvbnRyb2xsZXIgPSBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OmNyZWF0ZSh0aGlz
LCBwYWdlKCktPmRpc3BsYXlJRCgpKTsKKyAgICAgICAgbV9zY3JpcHRlZEFuaW1hdGlvbkNvbnRy
b2xsZXIgPSBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OmNyZWF0ZSh0aGlzLCBwYWdlKCkg
PyBwYWdlKCktPmRpc3BsYXlJRCgpIDogMCk7CiAjZWxzZQogICAgICAgICBtX3NjcmlwdGVkQW5p
bWF0aW9uQ29udHJvbGxlciA9IFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcjo6Y3JlYXRlKHRo
aXMsIDApOwogI2VuZGlmCisgICAgICAgIC8vIEl0J3MgcG9zc2libGUgdGhhdCB0aGUgUGFnZSBt
YXkgaGF2ZSBzdXNwZW5kZWQgc2NyaXB0ZWQgYW5pbWF0aW9ucyBiZWZvcmUKKyAgICAgICAgLy8g
d2Ugd2VyZSBjcmVhdGVkLiBXZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IHdlIGRvbid0IHN0YXJ0
IHVwIHRoZSBhbmltYXRpb24KKyAgICAgICAgLy8gY29udHJvbGxlciBvbiBhIGJhY2tncm91bmQg
dGFiLCBmb3IgZXhhbXBsZS4KKyAgICAgICAgaWYgKCFwYWdlKCkgfHwgcGFnZSgpLT5zY3JpcHRl
ZEFuaW1hdGlvbnNTdXNwZW5kZWQoKSkKKyAgICAgICAgICAgIG1fc2NyaXB0ZWRBbmltYXRpb25D
b250cm9sbGVyLT5zdXNwZW5kKCk7CiAgICAgfQogCiAgICAgcmV0dXJuIG1fc2NyaXB0ZWRBbmlt
YXRpb25Db250cm9sbGVyLT5yZWdpc3RlckNhbGxiYWNrKGNhbGxiYWNrLCBhbmltYXRpb25FbGVt
ZW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRlZEFuaW1hdGlvbkNv
bnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJv
bGxlci5jcHAKaW5kZXggMDk5YmM1Y2JkMTc5ZDhlMTkyYjBiN2U3MWE2M2Q2M2NjOGM4NzE5Ny4u
ODA3ZTkxM2FiNzU0ODRhY2ZiNGE4YWJiMDE0Y2UwN2E5YTYzOTFkMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKQEAgLTcyLDcg
KzcyLDExIEBAIHZvaWQgU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpzdXNwZW5kKCkKIAog
dm9pZCBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OnJlc3VtZSgpCiB7Ci0gICAgLS1tX3N1
c3BlbmRDb3VudDsKKyAgICAvLyBJdCB3b3VsZCBiZSBuaWNlIHRvIHB1dCBhbiBBU1NFUlQobV9z
dXNwZW5kQ291bnQgPiAwKSBoZXJlLCBidXQgaW4gV0sxIHJlc3VtZSgpIGNhbiBiZSBjYWxsZWQK
KyAgICAvLyBldmVuIHdoZW4gc3VzcGVuZCBoYXNuJ3QgKGlmIGEgdGFiIHdhcyBjcmVhdGVkIGlu
IHRoZSBiYWNrZ3JvdW5kKS4KKyAgICBpZiAobV9zdXNwZW5kQ291bnQgPiAwKQorICAgICAgICAt
LW1fc3VzcGVuZENvdW50OworCiAgICAgaWYgKCFtX3N1c3BlbmRDb3VudCAmJiBtX2NhbGxiYWNr
cy5zaXplKCkpCiAgICAgICAgIHNjaGVkdWxlQW5pbWF0aW9uKCk7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cAppbmRleCBkNzJiNWZiMGI0NWY2NjUwZjQ1NmRkODdmOTZmZmE2ZjMxMTNlZWRiLi45Nzg1NjBm
NmM0ZDk2YTFhZTAxN2MyMTg5MTMxNjUwZGNlNGRiNjg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAg
LTE2Myw2ICsxNjMsNyBAQCBQYWdlOjpQYWdlKFBhZ2VDbGllbnRzJiBwYWdlQ2xpZW50cykKICNp
Zm5kZWYgTkRFQlVHCiAgICAgLCBtX2lzUGFpbnRpbmcoZmFsc2UpCiAjZW5kaWYKKyAgICAsIG1f
c2NyaXB0ZWRBbmltYXRpb25zU3VzcGVuZGVkKGZhbHNlKQogewogICAgIGlmICghYWxsUGFnZXMp
IHsKICAgICAgICAgYWxsUGFnZXMgPSBuZXcgSGFzaFNldDxQYWdlKj47CkBAIC03MjAsNiArNzIx
LDcgQEAgdm9pZCBQYWdlOjp3aW5kb3dTY3JlZW5EaWRDaGFuZ2UoUGxhdGZvcm1EaXNwbGF5SUQg
ZGlzcGxheUlEKQogCiB2b2lkIFBhZ2U6OnN1c3BlbmRTY3JpcHRlZEFuaW1hdGlvbnMoKQogewor
ICAgIG1fc2NyaXB0ZWRBbmltYXRpb25zU3VzcGVuZGVkID0gdHJ1ZTsKICAgICBmb3IgKEZyYW1l
KiBmcmFtZSA9IG1haW5GcmFtZSgpOyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLT50cmF2
ZXJzZU5leHQoKSkgewogICAgICAgICBpZiAoZnJhbWUtPmRvY3VtZW50KCkpCiAgICAgICAgICAg
ICBmcmFtZS0+ZG9jdW1lbnQoKS0+c3VzcGVuZFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlckNh
bGxiYWNrcygpOwpAQCAtNzI4LDYgKzczMCw3IEBAIHZvaWQgUGFnZTo6c3VzcGVuZFNjcmlwdGVk
QW5pbWF0aW9ucygpCiAKIHZvaWQgUGFnZTo6cmVzdW1lU2NyaXB0ZWRBbmltYXRpb25zKCkKIHsK
KyAgICBtX3NjcmlwdGVkQW5pbWF0aW9uc1N1c3BlbmRlZCA9IGZhbHNlOwogICAgIGZvciAoRnJh
bWUqIGZyYW1lID0gbWFpbkZyYW1lKCk7IGZyYW1lOyBmcmFtZSA9IGZyYW1lLT50cmVlKCktPnRy
YXZlcnNlTmV4dCgpKSB7CiAgICAgICAgIGlmIChmcmFtZS0+ZG9jdW1lbnQoKSkKICAgICAgICAg
ICAgIGZyYW1lLT5kb2N1bWVudCgpLT5yZXN1bWVTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXJD
YWxsYmFja3MoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggZDJhNzYxNmM0YTZmMzhkMmI2NTIwMmZhODM4
ODdkZDFlMzU4M2NkMC4uMzk3M2ZkMjg3NDkxODRiMzg1ZGVlMDNmZWVjOGQ4OWIzNWUwMTg5MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlLmgKQEAgLTI3Myw2ICsyNzMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIAogICAgICAgICB2b2lkIHN1c3BlbmRTY3JpcHRlZEFuaW1hdGlvbnMoKTsKICAgICAg
ICAgdm9pZCByZXN1bWVTY3JpcHRlZEFuaW1hdGlvbnMoKTsKKyAgICAgICAgYm9vbCBzY3JpcHRl
ZEFuaW1hdGlvbnNTdXNwZW5kZWQoKSBjb25zdCB7IHJldHVybiBtX3NjcmlwdGVkQW5pbWF0aW9u
c1N1c3BlbmRlZDsgfQogICAgICAgICAKICAgICAgICAgdm9pZCB1c2VyU3R5bGVTaGVldExvY2F0
aW9uQ2hhbmdlZCgpOwogICAgICAgICBjb25zdCBTdHJpbmcmIHVzZXJTdHlsZVNoZWV0KCkgY29u
c3Q7CkBAIC00MzcsNiArNDM4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2lmbmRlZiBOREVC
VUcKICAgICAgICAgYm9vbCBtX2lzUGFpbnRpbmc7CiAjZW5kaWYKKworICAgICAgICBib29sIG1f
c2NyaXB0ZWRBbmltYXRpb25zU3VzcGVuZGVkOwogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3
aW5nQXJlYUltcGwuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdp
bmdBcmVhSW1wbC5jcHAKaW5kZXggMWNjOThhMTVlYjM0ZWYxZTU2YTMyMGQxMzlkMGU0NWYzNGUw
NzJhMi4uMzYwNTVlZTEwYmViOWI0Yzg3NDcyNzc2YmE4M2QzNTgyYTVhMjExMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5j
cHAKQEAgLTQzNiw3ICs0MzYsOCBAQCB2b2lkIERyYXdpbmdBcmVhSW1wbDo6cmVzdW1lUGFpbnRp
bmcoKQogICAgIC8vIEZJWE1FOiBXZSBzaG91bGRuJ3QgYWx3YXlzIHJlcGFpbnQgZXZlcnl0aGlu
ZyBoZXJlLgogICAgIHNldE5lZWRzRGlzcGxheShtX3dlYlBhZ2UtPmJvdW5kcygpKTsKIAotICAg
IG1fd2ViUGFnZS0+Y29yZVBhZ2UoKS0+cmVzdW1lU2NyaXB0ZWRBbmltYXRpb25zKCk7CisgICAg
aWYgKG1fd2ViUGFnZS0+d2luZG93SXNWaXNpYmxlKCkpCisgICAgICAgIG1fd2ViUGFnZS0+Y29y
ZVBhZ2UoKS0+cmVzdW1lU2NyaXB0ZWRBbmltYXRpb25zKCk7CiB9CiAKIHZvaWQgRHJhd2luZ0Fy
ZWFJbXBsOjplbnRlckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKEdyYXBoaWNzTGF5ZXIqIGdy
YXBoaWNzTGF5ZXIpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135737</attachid>
            <date>2012-04-04 18:19:47 -0700</date>
            <delta_ts>2012-04-04 18:28:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76105-20120405111945.patch</filename>
            <type>text/plain</type>
            <size>9196</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyNjk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjQ5MGQxZWY2YzNiOTlh
YjgxM2Q1MmI4M2NmMzNjYWNiZGJlMjQ4My4uYTZhODczOGNhYWU1MTJjN2ExNjQ1NTQzNzBmZjY3
YTI5YzczNzNhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEyLTA0LTAzICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjXSByZXF1ZXN0QW5pbWF0
aW9uRnJhbWUgc29tZXRpbWVzIHN0dWNrIHdoZW4gcGFnZSBsb2FkcyBpbiBhIGJhY2tncm91bmQg
dGFiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEw
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCB0
aHJlZSBpc3N1ZXMgd2l0aCByZXF1ZXN0QW5pbWF0aW9uRnJhbWU6CisgICAgICAgIC0gSXQncyBw
b3NzaWJsZSBmb3IgdGhlIGNhbGwgdG8gckFGIHRvIGNvbWUgdG8gdGhlIGRvY3VtZW50IGJlZm9y
ZSB0aGVyZQorICAgICAgICAgIGlzIGEgcGFnZSBhc3NvY2lhdGVkLiBBZGRlZCBhIGd1YXJkIGZv
ciB0aGlzLgorICAgICAgICAtIEEgcGFnZSBtYXkgdHJ5IHRvIHN1c3BlbmQgdGhlIHNjcmlwdGVk
IGFuaW1hdGlvbnMgYmVmb3JlIHRoZQorICAgICAgICAgIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJv
bGxlciBleGlzdHMsIGluIHdoaWNoIGNhc2Ugd2UgbmVlZCB0bworICAgICAgICAgIHN1c3BlbmQg
aXQgaW1tZWRpYXRlbHkgYWZ0ZXIgaXQgaXMgY3JlYXRlZC4gRG8gdGhpcyBieSBrZWVwaW5nCisg
ICAgICAgICAgdHJhY2sgb2YgdGhlIHN0YXRlIGluIFBhZ2UuIE90aGVyd2lzZSByQUYgd291bGQg
YmUgYnVzeSBsb29waW5nCisgICAgICAgICAgb24gaGlkZGVuIHBhZ2VzIHVudGlsIHRoZXkgYXJl
IGJyb3VnaHQgdG8gdGhlIGZyb250IGFuZCBoaWRkZW4gYWdhaW4uCisgICAgICAgIC0gQSBwYWdl
IGNyZWF0ZWQgaW4gdGhlIGJhY2tncm91bmQgKGZyb20gV2ViS2l0MSkgZG9lcyBub3QgZ2V0Cisg
ICAgICAgICAgaW5mb3JtZWQgaXQgaXMgbm90IHZpc2libGUuIFRoaXMgY2FuIG1lYW4gdGhhdCBy
ZXN1bWUoKSBpcyBjYWxsZWQKKyAgICAgICAgICBtb3JlIHRpbWVzIHRoYW4gc3VzcGVuZCgpIGFu
ZCB3ZSBnZXQgaW50byBhIHN0YXRlIHdoZXJlIHRoZSBudW1iZXIKKyAgICAgICAgICBvZiBzdXNw
ZW5zaW9ucyBiZWNvbWVzIC0xLCBhbmQgdGh1cyBmYWlscyB0cnV0aGluZXNzIHRlc3RzLiBDbGFt
cCBpdAorICAgICAgICAgIHRvIHZhbHVlcyA+PSAwLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywg
c2luY2UgdGhpcyBpcyBub3QgYXV0b21hdGljYWxseSB0ZXN0YWJsZS4gVGhlIG1vc3QgcmVsaWFi
bGUgdGVzdAorICAgICAgICBpcyB0byBvcGVuIGEgcGFnZSB3aXRoIHJBRiBpbiBhIGJhY2tncm91
bmQgdGFiIHdpdGhpbiBTYWZhcmkuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OndlYmtpdFJlcXVlc3RBbmltYXRpb25GcmFtZSk6Cisg
ICAgICAgICogZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OnJlc3VtZSk6CisgICAgICAgICog
cGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OlBhZ2UpOgorICAgICAgICAo
V2ViQ29yZTo6UGFnZTo6c3VzcGVuZFNjcmlwdGVkQW5pbWF0aW9ucyk6CisgICAgICAgIChXZWJD
b3JlOjpQYWdlOjpyZXN1bWVTY3JpcHRlZEFuaW1hdGlvbnMpOgorICAgICAgICAqIHBhZ2UvUGFn
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c2NyaXB0ZWRBbmltYXRpb25zU3VzcGVuZGVk
KToKKyAgICAgICAgKFBhZ2UpOgorCiAyMDEyLTAzLTMwICBDaHJpcyBGbGVpemFjaCAgPGNmbGVp
emFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgQVg6IENyYXNoIGF0IFdlYkNvcmU6OnJlbmRlck9i
amVjdENvbnRhaW5zUG9zaXRpb24oV2ViQ29yZTo6UmVuZGVyT2JqZWN0KiwgV2ViQ29yZTo6UG9z
aXRpb24gY29uc3QmKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDFhYzM3MWI0MjZkNmNjYmZjOGMxNjNhNGIyZWYx
OTVkNGMzMDhhNTEuLmI2ODY5NzIwMWZlNjU5Y2YwOTJlNDMyMTgzYmY3OGM4YWQ1YWZhMTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0wNC0wMyAgRGVhbiBKYWNrc29uICA8ZGlu
b0BhcHBsZS5jb20+CisKKyAgICAgICAgW21hY10gcmVxdWVzdEFuaW1hdGlvbkZyYW1lIHNvbWV0
aW1lcyBzdHVjayB3aGVuIHBhZ2UgbG9hZHMgaW4gYSBiYWNrZ3JvdW5kIHRhYgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIHdlIGFyZSByZXN1bWlu
ZyBwYWludGluZyBvbmx5IHN0YXJ0IHRoZSBzY3JpcHRlZCBhbmltYXRpb25zCisgICAgICAgIGlm
IHdlJ3JlIGEgdmlzaWJsZSB3aW5kb3cuIFRoaXMgY2FuIGhhcHBlbiB3aGVuIHRhYnMgYXJlIG9w
ZW5lZAorICAgICAgICBpbiB0aGUgYmFja2dyb3VuZC4KKworICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJl
YUltcGw6OnJlc3VtZVBhaW50aW5nKToKKwogMjAxMi0wMy0zMCAgQWxsYW4gU2FuZGZlbGQgSmVu
c2VuICA8YWxsYW4uamVuc2VuQG5va2lhLmNvbT4KIAogICAgICAgICBbUXRdIEZpbmQgem9vbWFi
bGUgYXJlYSB1c2luZyBhcmVhLWJhc2VkIGhpdC10ZXN0aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cAppbmRleCA4NjdhOGQ2YTcxMjBlNDdkZTYyZDFjOWQxODBlZWFmNDliNTYyZDg1Li41NzY0ODNh
NWNjN2IxODhiMGU0Y2ZiM2QxMGRlNTM3M2EyZWE5MTUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAKQEAgLTU1OTUsMTAgKzU1OTUsMTUgQEAgaW50IERvY3VtZW50Ojp3ZWJraXRSZXF1ZXN0QW5p
bWF0aW9uRnJhbWUoUGFzc1JlZlB0cjxSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmEKIHsKICAg
ICBpZiAoIW1fc2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyKSB7CiAjaWYgVVNFKFJFUVVFU1Rf
QU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikKLSAgICAgICAgbV9zY3JpcHRlZEFuaW1h
dGlvbkNvbnRyb2xsZXIgPSBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OmNyZWF0ZSh0aGlz
LCBwYWdlKCktPmRpc3BsYXlJRCgpKTsKKyAgICAgICAgbV9zY3JpcHRlZEFuaW1hdGlvbkNvbnRy
b2xsZXIgPSBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OmNyZWF0ZSh0aGlzLCBwYWdlKCkg
PyBwYWdlKCktPmRpc3BsYXlJRCgpIDogMCk7CiAjZWxzZQogICAgICAgICBtX3NjcmlwdGVkQW5p
bWF0aW9uQ29udHJvbGxlciA9IFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcjo6Y3JlYXRlKHRo
aXMsIDApOwogI2VuZGlmCisgICAgICAgIC8vIEl0J3MgcG9zc2libGUgdGhhdCB0aGUgUGFnZSBt
YXkgaGF2ZSBzdXNwZW5kZWQgc2NyaXB0ZWQgYW5pbWF0aW9ucyBiZWZvcmUKKyAgICAgICAgLy8g
d2Ugd2VyZSBjcmVhdGVkLiBXZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IHdlIGRvbid0IHN0YXJ0
IHVwIHRoZSBhbmltYXRpb24KKyAgICAgICAgLy8gY29udHJvbGxlciBvbiBhIGJhY2tncm91bmQg
dGFiLCBmb3IgZXhhbXBsZS4KKyAgICAgICAgaWYgKCFwYWdlKCkgfHwgcGFnZSgpLT5zY3JpcHRl
ZEFuaW1hdGlvbnNTdXNwZW5kZWQoKSkKKyAgICAgICAgICAgIG1fc2NyaXB0ZWRBbmltYXRpb25D
b250cm9sbGVyLT5zdXNwZW5kKCk7CiAgICAgfQogCiAgICAgcmV0dXJuIG1fc2NyaXB0ZWRBbmlt
YXRpb25Db250cm9sbGVyLT5yZWdpc3RlckNhbGxiYWNrKGNhbGxiYWNrLCBhbmltYXRpb25FbGVt
ZW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRlZEFuaW1hdGlvbkNv
bnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJv
bGxlci5jcHAKaW5kZXggMDk5YmM1Y2JkMTc5ZDhlMTkyYjBiN2U3MWE2M2Q2M2NjOGM4NzE5Ny4u
ODA3ZTkxM2FiNzU0ODRhY2ZiNGE4YWJiMDE0Y2UwN2E5YTYzOTFkMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKQEAgLTcyLDcg
KzcyLDExIEBAIHZvaWQgU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpzdXNwZW5kKCkKIAog
dm9pZCBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OnJlc3VtZSgpCiB7Ci0gICAgLS1tX3N1
c3BlbmRDb3VudDsKKyAgICAvLyBJdCB3b3VsZCBiZSBuaWNlIHRvIHB1dCBhbiBBU1NFUlQobV9z
dXNwZW5kQ291bnQgPiAwKSBoZXJlLCBidXQgaW4gV0sxIHJlc3VtZSgpIGNhbiBiZSBjYWxsZWQK
KyAgICAvLyBldmVuIHdoZW4gc3VzcGVuZCBoYXNuJ3QgKGlmIGEgdGFiIHdhcyBjcmVhdGVkIGlu
IHRoZSBiYWNrZ3JvdW5kKS4KKyAgICBpZiAobV9zdXNwZW5kQ291bnQgPiAwKQorICAgICAgICAt
LW1fc3VzcGVuZENvdW50OworCiAgICAgaWYgKCFtX3N1c3BlbmRDb3VudCAmJiBtX2NhbGxiYWNr
cy5zaXplKCkpCiAgICAgICAgIHNjaGVkdWxlQW5pbWF0aW9uKCk7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cAppbmRleCBkNzJiNWZiMGI0NWY2NjUwZjQ1NmRkODdmOTZmZmE2ZjMxMTNlZWRiLi45Nzg1NjBm
NmM0ZDk2YTFhZTAxN2MyMTg5MTMxNjUwZGNlNGRiNjg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAg
LTE2Myw2ICsxNjMsNyBAQCBQYWdlOjpQYWdlKFBhZ2VDbGllbnRzJiBwYWdlQ2xpZW50cykKICNp
Zm5kZWYgTkRFQlVHCiAgICAgLCBtX2lzUGFpbnRpbmcoZmFsc2UpCiAjZW5kaWYKKyAgICAsIG1f
c2NyaXB0ZWRBbmltYXRpb25zU3VzcGVuZGVkKGZhbHNlKQogewogICAgIGlmICghYWxsUGFnZXMp
IHsKICAgICAgICAgYWxsUGFnZXMgPSBuZXcgSGFzaFNldDxQYWdlKj47CkBAIC03MjAsNiArNzIx
LDcgQEAgdm9pZCBQYWdlOjp3aW5kb3dTY3JlZW5EaWRDaGFuZ2UoUGxhdGZvcm1EaXNwbGF5SUQg
ZGlzcGxheUlEKQogCiB2b2lkIFBhZ2U6OnN1c3BlbmRTY3JpcHRlZEFuaW1hdGlvbnMoKQogewor
ICAgIG1fc2NyaXB0ZWRBbmltYXRpb25zU3VzcGVuZGVkID0gdHJ1ZTsKICAgICBmb3IgKEZyYW1l
KiBmcmFtZSA9IG1haW5GcmFtZSgpOyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLT50cmF2
ZXJzZU5leHQoKSkgewogICAgICAgICBpZiAoZnJhbWUtPmRvY3VtZW50KCkpCiAgICAgICAgICAg
ICBmcmFtZS0+ZG9jdW1lbnQoKS0+c3VzcGVuZFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlckNh
bGxiYWNrcygpOwpAQCAtNzI4LDYgKzczMCw3IEBAIHZvaWQgUGFnZTo6c3VzcGVuZFNjcmlwdGVk
QW5pbWF0aW9ucygpCiAKIHZvaWQgUGFnZTo6cmVzdW1lU2NyaXB0ZWRBbmltYXRpb25zKCkKIHsK
KyAgICBtX3NjcmlwdGVkQW5pbWF0aW9uc1N1c3BlbmRlZCA9IGZhbHNlOwogICAgIGZvciAoRnJh
bWUqIGZyYW1lID0gbWFpbkZyYW1lKCk7IGZyYW1lOyBmcmFtZSA9IGZyYW1lLT50cmVlKCktPnRy
YXZlcnNlTmV4dCgpKSB7CiAgICAgICAgIGlmIChmcmFtZS0+ZG9jdW1lbnQoKSkKICAgICAgICAg
ICAgIGZyYW1lLT5kb2N1bWVudCgpLT5yZXN1bWVTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXJD
YWxsYmFja3MoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggZDJhNzYxNmM0YTZmMzhkMmI2NTIwMmZhODM4
ODdkZDFlMzU4M2NkMC4uMzk3M2ZkMjg3NDkxODRiMzg1ZGVlMDNmZWVjOGQ4OWIzNWUwMTg5MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlLmgKQEAgLTI3Myw2ICsyNzMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIAogICAgICAgICB2b2lkIHN1c3BlbmRTY3JpcHRlZEFuaW1hdGlvbnMoKTsKICAgICAg
ICAgdm9pZCByZXN1bWVTY3JpcHRlZEFuaW1hdGlvbnMoKTsKKyAgICAgICAgYm9vbCBzY3JpcHRl
ZEFuaW1hdGlvbnNTdXNwZW5kZWQoKSBjb25zdCB7IHJldHVybiBtX3NjcmlwdGVkQW5pbWF0aW9u
c1N1c3BlbmRlZDsgfQogICAgICAgICAKICAgICAgICAgdm9pZCB1c2VyU3R5bGVTaGVldExvY2F0
aW9uQ2hhbmdlZCgpOwogICAgICAgICBjb25zdCBTdHJpbmcmIHVzZXJTdHlsZVNoZWV0KCkgY29u
c3Q7CkBAIC00MzcsNiArNDM4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2lmbmRlZiBOREVC
VUcKICAgICAgICAgYm9vbCBtX2lzUGFpbnRpbmc7CiAjZW5kaWYKKworICAgICAgICBib29sIG1f
c2NyaXB0ZWRBbmltYXRpb25zU3VzcGVuZGVkOwogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3
aW5nQXJlYUltcGwuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdp
bmdBcmVhSW1wbC5jcHAKaW5kZXggMWNjOThhMTVlYjM0ZWYxZTU2YTMyMGQxMzlkMGU0NWYzNGUw
NzJhMi4uMzYwNTVlZTEwYmViOWI0Yzg3NDcyNzc2YmE4M2QzNTgyYTVhMjExMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5j
cHAKQEAgLTQzNiw3ICs0MzYsOCBAQCB2b2lkIERyYXdpbmdBcmVhSW1wbDo6cmVzdW1lUGFpbnRp
bmcoKQogICAgIC8vIEZJWE1FOiBXZSBzaG91bGRuJ3QgYWx3YXlzIHJlcGFpbnQgZXZlcnl0aGlu
ZyBoZXJlLgogICAgIHNldE5lZWRzRGlzcGxheShtX3dlYlBhZ2UtPmJvdW5kcygpKTsKIAotICAg
IG1fd2ViUGFnZS0+Y29yZVBhZ2UoKS0+cmVzdW1lU2NyaXB0ZWRBbmltYXRpb25zKCk7CisgICAg
aWYgKG1fd2ViUGFnZS0+d2luZG93SXNWaXNpYmxlKCkpCisgICAgICAgIG1fd2ViUGFnZS0+Y29y
ZVBhZ2UoKS0+cmVzdW1lU2NyaXB0ZWRBbmltYXRpb25zKCk7CiB9CiAKIHZvaWQgRHJhd2luZ0Fy
ZWFJbXBsOjplbnRlckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKEdyYXBoaWNzTGF5ZXIqIGdy
YXBoaWNzTGF5ZXIpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggMTgxOWJmODVhNDY3YWVjNjllNDAxNTFkODdlMzk0OWMwNGU2
N2ZlMC4uYTNiNjc1YjgzZjdmYzMwM2E2YmQ0MTY2MjA5Y2M5MGM3MWZlZjE5YSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE3IEBACisyMDEyLTA0LTA0ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4K
KworICAgICAgICBbbWFjXSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgc29tZXRpbWVzIHN0dWNrIHdo
ZW4gcGFnZSBsb2FkcyBpbiBhIGJhY2tncm91bmQgdGFiCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEwNQorCisgICAgICAgIEFkZCBmYXN0L2FuaW1h
dGlvbi9yZXF1ZXN0LWFuaW1hdGlvbi1mcmFtZS1kdXJpbmctbW9kYWwuaHRtbAorICAgICAgICB0
byB0aGUgc2tpcHBlZCBsaXN0LiBUaGlzIHBhdGNoIHdpbGwgZW5zdXJlIHRoYXQgbm9uLXZpc2li
bGUgd2luZG93cworICAgICAgICBkbyBub3QgZ2V0IGEgcmVxdWVzdEFuaW1hdGlvbkZyYW1lIGNh
bGxiYWNrLCBzbyB0aGUgdGVzdCB3aWxsIHRpbWVvdXQuCisgICAgICAgIFNlZSBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODMyMzkgdG8gcmUtZW5hYmxlLgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vbWFj
L1NraXBwZWQ6CisKIDIwMTItMDMtMzAgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxl
LmNvbT4KIAogICAgICAgICBBWDogQ3Jhc2ggYXQgV2ViQ29yZTo6cmVuZGVyT2JqZWN0Q29udGFp
bnNQb3NpdGlvbihXZWJDb3JlOjpSZW5kZXJPYmplY3QqLCBXZWJDb3JlOjpQb3NpdGlvbiBjb25z
dCYpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCmluZGV4IDVhNzYyZjA3NDhhM2EwM2ZjNDllMjVj
YzMxMjJkMDZiZGU5MTE1ZDUuLjczOTBlMjNiZTdmZjM2MzY0YjY5MTczZTRiOGU3OTI0NzI4MmFl
NGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCkBAIC03MDEsMyArNzAxLDYgQEAgaHR0cC90
ZXN0cy9zZWN1cml0eS9jcm9zcy1mcmFtZS1hY2Nlc3MtcHV0Lmh0bWwKIAogIyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODI3NTIKIHBsdWdpbnMvbmV0c2NhcGUtZG9t
LWFjY2Vzcy1hbmQtcmVsb2FkLmh0bWwKKworIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODMyMzkKK2Zhc3QvYW5pbWF0aW9uL3JlcXVlc3QtYW5pbWF0aW9uLWZyYW1l
LWR1cmluZy1tb2RhbC5odG1sCg==
</data>
<flag name="review"
          id="140339"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>