<?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>54611</bug_id>
          
          <creation_ts>2011-02-16 19:53:02 -0800</creation_ts>
          <short_desc>Elements with position:absolute don&apos;t move to correct position after images load</short_desc>
          <delta_ts>2011-09-08 13:34:25 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.gutenberg.org/files/33439/33439-h/33439-h.htm#Footnote_1</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>67759</dependson>
    
    <dependson>67776</dependson>
          <blocked>67769</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Gareth Rees">gdr</reporter>
          <assigned_to name="Robert Hogan">robert</assigned_to>
          <cc>hyatt</cc>
    
    <cc>mitz</cc>
    
    <cc>ossy</cc>
    
    <cc>paroga</cc>
    
    <cc>rniwa</cc>
    
    <cc>robert</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>352555</commentid>
    <comment_count>0</comment_count>
    <who name="Gareth Rees">gdr</who>
    <bug_when>2011-02-16 19:53:02 -0800</bug_when>
    <thetext>Bug seen in Chrome 9.0.597.102, Safari 5.0.3, and iCab 4.8.0.

The page &lt;http://www.gutenberg.org/files/33439/33439-h/33439-h.htm#Footnote_1&gt; has a list of footnotes with labels that are placed to the left of each footnote using this style:

.footnote .label  {position: absolute; right: 84%; text-align: right;}

When visiting the page, the footnote labels start out placed correctly (next to their corresponding footnote), but then as the images load, the footnotes get pushed downwards while the labels stay put, making it impossible to tell which label belongs to which footnote.

If the page is made to redo the layout after the images have finished loading (for example, by adjusting the width of the browser window), the footnote labels return to the correct position.

This could be worked around in the page source by specifying image sizes, or by using a different technique to position the footnote labels, but this behaviour looks may be a bug in WebKit. In Opera 11.01 and Firefox 3.6.10 the footnotes remain in their correct positions while the images load.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354178</commentid>
    <comment_count>1</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-02-19 08:43:56 -0800</bug_when>
    <thetext>Reproduced with r79118.

Can you provide a (more) reduced test case?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>434480</commentid>
    <comment_count>2</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2011-07-09 04:52:51 -0700</bug_when>
    <thetext>The reduced case for this is:

&lt;style type=&quot;text/css&quot;&gt;
body { margin-left: 10%; margin-right: 10%;}
.footnote         {margin-left: 10%; margin-right: 10%; font-size: 0.9em;}
.footnote .label  {position: absolute; right: 84%; text-align: right;}
&lt;/style&gt;
&lt;img src=&quot;http://www.gutenberg.org/files/33439/33439-h/images/cover.jpg&quot;&gt;
&lt;div class=&quot;footnote&quot;&gt;&lt;a id=&quot;Footnote_1&quot;&gt;&lt;/a&gt;&lt;a href=&quot;resources/greenbox.png&quot;&gt;&lt;div class=&quot;label&quot;&gt;[1]&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;

The &apos;label&apos; block is an absolutely positioned child of an inline flow. So during layout, this line from RenderBlock::layoutPositionedObjects fails to dirty it for rendering:

        if (relayoutChildren || (r-&gt;style()-&gt;hasStaticBlockPosition(isHorizontalWritingMode()) &amp;&amp; r-&gt;parent() != this &amp;&amp; r-&gt;parent()-&gt;isBlockFlow()))
            r-&gt;setChildNeedsLayout(true, false);

The culprit is r-&gt;parent()-&gt;isBlockFlow(). Thie code was introduced in http://trac.webkit.org/changeset/8284. It&apos;s not clear to me why the requirement that the parent is a block flow is important here, other than to assume valid HTML. 

Although the issue is encountered only on first load without a fragment identifier, it happens reliably when you include the fragment identifier in the url (#Footnote_1). This is so because scrolling to the fragment always happens before the image has loaded, rendering the page and clearing the initial dirty bits in the positioned element&apos;s renderer. When the image finally loads in this scenario, the positioned element is otherwise clean and relies on the above code to get re-rendered.

Dave/Simon, is there a good reason for expecting the parent to be a block flow?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>434481</commentid>
    <comment_count>3</comment_count>
      <attachid>100206</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2011-07-09 04:53:23 -0700</bug_when>
    <thetext>Created attachment 100206
Test Case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>461817</commentid>
    <comment_count>4</comment_count>
      <attachid>106261</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2011-09-03 08:06:46 -0700</bug_when>
    <thetext>Created attachment 106261
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>461830</commentid>
    <comment_count>5</comment_count>
      <attachid>106261</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-09-03 10:23:59 -0700</bug_when>
    <thetext>Comment on attachment 106261
Patch

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

&gt; LayoutTests/ChangeLog:10
&gt; +        * http/tests/navigation/anchor-rendered-after-image-load-expected.txt: Added.
&gt; +        * http/tests/navigation/anchor-rendered-after-image-load.html: Added.
&gt; +        * http/tests/navigation/resources/anchor-rendered-after-image-load.html: Added.

I don&apos;t understand why this has to be an http test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>461837</commentid>
    <comment_count>6</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2011-09-03 11:32:04 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; 
&gt; I don&apos;t understand why this has to be an http test.

The issue is encountered only on first load without a fragment identifier, it happens reliably when you include the fragment identifier in the url. (See comment #2). So I wrote the test so that it would fail reliably if there was a regression - loading the page with the fragment identifier. It was easier to do this in http/tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>461843</commentid>
    <comment_count>7</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-09-03 13:21:03 -0700</bug_when>
    <thetext>But you should be able to make a normal layout test with a little bit of JS that reproduces the same issue, no?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>461946</commentid>
    <comment_count>8</comment_count>
      <attachid>106285</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2011-09-04 05:30:55 -0700</bug_when>
    <thetext>Created attachment 106285
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462570</commentid>
    <comment_count>9</comment_count>
      <attachid>106285</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-09-06 09:00:44 -0700</bug_when>
    <thetext>Comment on attachment 106285
Patch

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

&gt; LayoutTests/fast/block/positioning/absolute-layout-after-image-load.html:3
&gt; +&lt;meta http-equiv=&quot;Content-Style-Type&quot; content=&quot;text/css&quot;&gt;

Remove

&gt; LayoutTests/fast/block/positioning/resources/absolute-layout-after-image-load-2.html:3
&gt; +&lt;meta http-equiv=&quot;Content-Style-Type&quot; content=&quot;text/css&quot;&gt;

Remove.

&gt; LayoutTests/fast/block/positioning/resources/absolute-layout-after-image-load-2.html:17
&gt; +        layoutTestController.waitUntilDone();

I don&apos;t think you need these in the loaded resource. Those in the first test page are enough.

&gt; Source/WebCore/ChangeLog:16
&gt; +        The reduced case for this bug is:
&gt; +
&gt; +        &lt;style type=&quot;text/css&quot;&gt;
&gt; +        .footnote .label  {position: absolute; right: 84%; text-align: right;}
&gt; +        &lt;/style&gt;
&gt; +        &lt;img src=&quot;http://www.gutenberg.org/files/33439/33439-h/images/cover.jpg&quot;&gt;
&gt; +        &lt;div class=&quot;footnote&quot;&gt;&lt;a id=&quot;Footnote_1&quot;&gt;&lt;/a&gt;&lt;a href=&quot;resources/greenbox.png&quot;&gt;&lt;div class=&quot;label&quot;&gt;[1]&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;

It&apos;s not necessary to put this in the changelog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463546</commentid>
    <comment_count>10</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2011-09-07 11:59:19 -0700</bug_when>
    <thetext>Committed r94695: &lt;http://trac.webkit.org/changeset/94695&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463878</commentid>
    <comment_count>11</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-09-07 21:29:30 -0700</bug_when>
    <thetext>The test added by this patch is hitting an assertion on Snow Leopard. I&apos;ve filed https://bugs.webkit.org/show_bug.cgi?id=67759 to track this failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464004</commentid>
    <comment_count>12</comment_count>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2011-09-08 06:02:21 -0700</bug_when>
    <thetext>I rolled out the patch (http://trac.webkit.org/changeset/94755) because it hits assertion on Snow Leopard, Qt, GTK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464305</commentid>
    <comment_count>13</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2011-09-08 13:34:25 -0700</bug_when>
    <thetext>Committed r94785: &lt;http://trac.webkit.org/changeset/94785&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>100206</attachid>
            <date>2011-07-09 04:53:23 -0700</date>
            <delta_ts>2011-07-09 04:53:23 -0700</delta_ts>
            <desc>Test Case</desc>
            <filename>absolute-position-when-subresource-loaded.html</filename>
            <type>text/html</type>
            <size>458</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgpib2R5IHsgbWFyZ2luLWxlZnQ6
IDEwJTsgbWFyZ2luLXJpZ2h0OiAxMCU7fQouZm9vdG5vdGUgICAgICAgICB7bWFyZ2luLWxlZnQ6
IDEwJTsgbWFyZ2luLXJpZ2h0OiAxMCU7IGZvbnQtc2l6ZTogMC45ZW07fQouZm9vdG5vdGUgLmxh
YmVsICB7cG9zaXRpb246IGFic29sdXRlOyByaWdodDogODQlOyB0ZXh0LWFsaWduOiByaWdodDt9
Cjwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+CjxpbWcgc3JjPSJodHRwOi8vd3d3Lmd1dGVuYmVyZy5v
cmcvZmlsZXMvMzM0MzkvMzM0MzktaC9pbWFnZXMvY292ZXIuanBnIj4KPGRpdiBjbGFzcz0iZm9v
dG5vdGUiPjxhIGlkPSJGb290bm90ZV8xIj48L2E+PGEgaHJlZj0icmVzb3VyY2VzL2dyZWVuYm94
LnBuZyI+PGRpdiBjbGFzcz0ibGFiZWwiPlsxXTwvZGl2PjwvYT48L2Rpdj4KPC9ib2R5PjwvaHRt
bD4=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106261</attachid>
            <date>2011-09-03 08:06:46 -0700</date>
            <delta_ts>2011-09-04 05:30:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54611-20110903160644.patch</filename>
            <type>text/plain</type>
            <size>7923</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQ0ODcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkNDViNzNmNGFkMjA3ODc1MjdmMDFm
NTQ3MWVjOGI3NTNjMjY1MTI3Li5hMTliYWRiMTY2NTIxNWUwNjhjMTEwODYyMTc3ZmFkZGMwMTlk
OGQ2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDktMDMgIFJvYmVydCBIb2dhbiAgPHJv
YmVydEB3ZWJraXQub3JnPgorCisgICAgICAgIEVsZW1lbnRzIHdpdGggcG9zaXRpb246YWJzb2x1
dGUgZG9uJ3QgbW92ZSB0byBjb3JyZWN0IHBvc2l0aW9uIGFmdGVyIGltYWdlcyBsb2FkCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDYxMQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90ZXN0cy9u
YXZpZ2F0aW9uL2FuY2hvci1yZW5kZXJlZC1hZnRlci1pbWFnZS1sb2FkLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2FuY2hvci1yZW5kZXJlZC1h
ZnRlci1pbWFnZS1sb2FkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbmF2aWdh
dGlvbi9yZXNvdXJjZXMvYW5jaG9yLXJlbmRlcmVkLWFmdGVyLWltYWdlLWxvYWQuaHRtbDogQWRk
ZWQuCisKIDIwMTEtMDktMDMgIFl1dGEgS2l0YW11cmEgIDx5dXRha0BjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgV2ViU29ja2V0OiBTZW5kIEFycmF5QnVmZmVyIGFzIFdlYlNvY2tldCBiaW5hcnkg
bWVzc2FnZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2Fu
Y2hvci1yZW5kZXJlZC1hZnRlci1pbWFnZS1sb2FkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9hbmNob3ItcmVuZGVyZWQtYWZ0ZXItaW1hZ2UtbG9hZC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2MyN2I2MDgwNTc0ZWNjMjMzMGFmOTc3NWJhZjkwNWY2
Mzg0NzM4ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdh
dGlvbi9hbmNob3ItcmVuZGVyZWQtYWZ0ZXItaW1hZ2UtbG9hZC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw4IEBACisKK1sxXQorU1VDQ0VTUworCis9PT09PT09PT09PT09PSBCYWNrIEZvcndhcmQg
TGlzdCA9PT09PT09PT09PT09PQorICAgICAgICBodHRwOi8vMTI3LjAuMC4xOjgwMDAvbmF2aWdh
dGlvbi9hbmNob3ItcmVuZGVyZWQtYWZ0ZXItaW1hZ2UtbG9hZC5odG1sICAqKm5hdiB0YXJnZXQq
KgorY3Vyci0+ICBodHRwOi8vMTI3LjAuMC4xOjgwMDAvbmF2aWdhdGlvbi9yZXNvdXJjZXMvYW5j
aG9yLXJlbmRlcmVkLWFmdGVyLWltYWdlLWxvYWQuaHRtbCNhbmNob3IxICAqKm5hdiB0YXJnZXQq
KgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9hbmNob3ItcmVuZGVyZWQt
YWZ0ZXItaW1hZ2UtbG9hZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9u
L2FuY2hvci1yZW5kZXJlZC1hZnRlci1pbWFnZS1sb2FkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTU1MjNm
NDFhMjJjNTFmYTcyMTE4ZjcxZjM2M2NiZjJkNTk1ZDljOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9hbmNob3ItcmVuZGVyZWQtYWZ0ZXItaW1h
Z2UtbG9hZC5odG1sCkBAIC0wLDAgKzEsNiBAQAorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIHNyYz0icmVzb3VyY2VzL3Rlc3Rjb2RlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisgICAg
cnVuQmFzaWNUZXN0KCJyZXNvdXJjZXMvYW5jaG9yLXJlbmRlcmVkLWFmdGVyLWltYWdlLWxvYWQu
aHRtbCNhbmNob3IxIiwgIm5vbmUiKTsKKzwvc2NyaXB0PgorVGhpcyBwYWdlIGp1c3Qga2lja3Mg
b2ZmIGEgdGVzdCwgYW5kIHNob3VsZCBub3QgYXBwZWFyIGluIHRoZSBleHBlY3RlZCB0ZXN0IG91
dHB1dC4KK1RoZSBmaWxlcyBpbiB0aGUgcmVzb3VyY2VzIGRpciBoYXZlIGNvbW1lbnRzIGFib3V0
IHRoZSB0ZXN0cy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlv
bi9yZXNvdXJjZXMvYW5jaG9yLXJlbmRlcmVkLWFmdGVyLWltYWdlLWxvYWQuaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9yZXNvdXJjZXMvYW5jaG9yLXJlbmRlcmVkLWFm
dGVyLWltYWdlLWxvYWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44Yzg3YWMyMmFhNjM5ZTM1Mjk3Nzg4Yzg3
NDkyZjIyNDNiODM5YjRiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9uYXZpZ2F0aW9uL3Jlc291cmNlcy9hbmNob3ItcmVuZGVyZWQtYWZ0ZXItaW1hZ2UtbG9hZC5o
dG1sCkBAIC0wLDAgKzEsNDcgQEAKKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBodHRwLWVxdWl2PSJD
b250ZW50LVN0eWxlLVR5cGUiIGNvbnRlbnQ9InRleHQvY3NzIj4KKzxzdHlsZSB0eXBlPSJ0ZXh0
L2NzcyI+CisgIGJvZHkgeyBtYXJnaW4tbGVmdDogMTAlOyBtYXJnaW4tcmlnaHQ6IDEwJTt9Cisg
IGgxLGgyLGgzLGg0LGg1LGg2IHsgdGV4dC1hbGlnbjogY2VudGVyOyBjbGVhcjogYm90aDt9Cisg
IGgxIHNwYW4geyBkaXNwbGF5OiBibG9jazsgcGFkZGluZy1ib3R0b206IDAuNWVtOyB9CisgIC5m
aWdjZW50ZXIgICB7IG1hcmdpbjogYXV0bzsgdGV4dC1hbGlnbjogY2VudGVyO30KKyAgLmZvb3Ru
b3RlcyAgICAgICAge2JvcmRlcjogZGFzaGVkIDFweDt9CisgIC5mb290bm90ZSAgICAgICAgIHtt
YXJnaW4tbGVmdDogMTAlOyBtYXJnaW4tcmlnaHQ6IDEwJTsgZm9udC1zaXplOiAwLjllbTt9Cisg
IC5mb290bm90ZSAubGFiZWwgIHtwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiA4NCU7IHRleHQt
YWxpZ246IHJpZ2h0O30KKzwvc3R5bGU+CisKKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNU
ZXh0KCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAg
ICAgfQorCisgICAgLy8gICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NTQ2MTEKKyAgICAvLyAgIFdoZW4gbmF2aWdhdGVkIHRvIHRoZSBhbmNob3IgZGlyZWN0bHksIHRo
ZSBhbmNob3Igc2hvdWxkIGJlIHBvc2l0aW9uZWQgYmVsb3cgCisgICAgLy8gICB0aGUgaW1hZ2Ug
b24gZmlyc3QgbG9hZC4KKworICAgIGZ1bmN0aW9uIHRlc3RBbmNob3JQb3NpdGlvbigpIHsKKyAg
ICAgICAgdmFyIGJvdHRvbU9mSW1hZ2UgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW1hZ2Ui
KS5vZmZzZXRUb3AgKyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW1hZ2UiKS5vZmZzZXRIZWln
aHQ7CisgICAgICAgIHZhciBmb290bm90ZVBvc2l0aW9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInNwYW50ZXh0Iikub2Zmc2V0VG9wOworICAgICAgICBpZiAoZm9vdG5vdGVQb3NpdGlvbiA+
PSBib3R0b21PZkltYWdlKQorICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25z
b2xlIikuaW5uZXJIVE1MICs9ICJTVUNDRVNTIjsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIubm90aWZ5RG9uZSgpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHRlc3QoKXsKKyAgICAgICAg
c2V0VGltZW91dCh0ZXN0QW5jaG9yUG9zaXRpb24oKSwwKTsKKyAgICB9Cis8L3NjcmlwdD4KKwor
PC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCk7Ij4KKzxkaXYgY2xhc3M9ImZpZ2NlbnRlciI+
CisgIDxpbWcgaWQ9ImltYWdlIiBzcmM9Ii4uLy4uL21pc2MvcmVzb3VyY2VzL2NvbXBhc3MuanBn
IiBhbHQ9IkJvb2sgY292ZXIuIiB0aXRsZT0iIj4KKzwvZGl2PgorCis8ZGl2IGNsYXNzPSJmb290
bm90ZSI+PGEgaWQ9ImFuY2hvcjEiPjwvYT48YSBocmVmPSJodHRwOi8vd3d3Lmd1dGVuYmVyZy5v
cmcvZmlsZXMvMzM0MzkvMzM0MzktaC8zMzQzOS1oLmh0bSNGTmFuY2hvcl8xIj48c3BhbiBpZD0i
c3BhbnRleHQiIGNsYXNzPSJsYWJlbCI+WzFdPC9zcGFuPjwvYT48L2Rpdj4KKworPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8L2JvZHk+PC9odG1sPgorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGIyY2VhNTE2
MTIwNTA4NTM1ZDdjNWQ2ZTJlY2QwZTBlOWRkOTg3Yi4uZmRmMjUxMzU1MDg3NWI4NmE4MDE5ZTc0
YjIwZTQzMDdjNmFkN2JlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDExLTA5LTAz
ICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRAd2Via2l0Lm9yZz4KKworICAgICAgICBFbGVtZW50cyB3
aXRoIHBvc2l0aW9uOmFic29sdXRlIGRvbid0IG1vdmUgdG8gY29ycmVjdCBwb3NpdGlvbiBhZnRl
ciBpbWFnZXMgbG9hZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NTQ2MTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUZXN0OiBodHRwL3Rlc3RzL25hdmlnYXRpb24vYW5jaG9yLXJlbmRlcmVkLWFmdGVyLWlt
YWdlLWxvYWQuaHRtbAorCisgICAgICAgIFRoZSByZWR1Y2VkIGNhc2UgZm9yIHRoaXMgYnVnIGlz
OgorCisgICAgICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgICAgIC5mb290bm90ZSAu
bGFiZWwgIHtwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiA4NCU7IHRleHQtYWxpZ246IHJpZ2h0
O30KKyAgICAgICAgPC9zdHlsZT4KKyAgICAgICAgPGltZyBzcmM9Imh0dHA6Ly93d3cuZ3V0ZW5i
ZXJnLm9yZy9maWxlcy8zMzQzOS8zMzQzOS1oL2ltYWdlcy9jb3Zlci5qcGciPgorICAgICAgICA8
ZGl2IGNsYXNzPSJmb290bm90ZSI+PGEgaWQ9IkZvb3Rub3RlXzEiPjwvYT48YSBocmVmPSJyZXNv
dXJjZXMvZ3JlZW5ib3gucG5nIj48ZGl2IGNsYXNzPSJsYWJlbCI+WzFdPC9kaXY+PC9hPjwvZGl2
PgorCisgICAgICAgIFRoZSAnbGFiZWwnIGJsb2NrIGlzIGFuIGFic29sdXRlbHkgcG9zaXRpb25l
ZCBjaGlsZCBvZiBhbiBpbmxpbmUgZmxvdy4gU28gZHVyaW5nIGxheW91dCwgCisgICAgICAgIHRo
aXMgUmVuZGVyQmxvY2s6OmxheW91dFBvc2l0aW9uZWRPYmplY3RzIGZhaWxzIHRvIGRpcnR5IGl0
IGZvciByZW5kZXJpbmcgYmVjYXVzZSBpdCByZXF1aXJlcyAKKyAgICAgICAgdGhlIHBhcmVudCB0
byBiZSBhIEJsb2NrRmxvdy4gVGhlIGNvZGUgdG8gZG8gdGhpcyB3YXMgaW50cm9kdWNlZCBpbiBo
dHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC84Mjg0LiAKKyAgICAgICAgVGhlcmUgZG9l
c24ndCBzZWVtIHRvIGJlIGEgZ29vZCByZWFzb24gZm9yIHJlcXVpcmluZyBhIEJsb2NrRmxvdywg
c28gcmVtb3ZlIHRoZSBjaGVjay4KKworICAgICAgICBOb3RlOiBBbHRob3VnaCB0aGUgaXNzdWUg
aXMgZW5jb3VudGVyZWQgb25seSBvbiBmaXJzdCBsb2FkIHdpdGhvdXQgYSBmcmFnbWVudCBpZGVu
dGlmaWVyLCBpdCAKKyAgICAgICAgaGFwcGVucyByZWxpYWJseSB3aGVuIHlvdSBpbmNsdWRlIHRo
ZSBmcmFnbWVudCBpZGVudGlmaWVyIGluIHRoZSB1cmwgKCNGb290bm90ZV8xKS4gVGhpcyBpcyBz
byAKKyAgICAgICAgYmVjYXVzZSBzY3JvbGxpbmcgdG8gdGhlIGZyYWdtZW50IGFsd2F5cyBoYXBw
ZW5zIGJlZm9yZSB0aGUgaW1hZ2UgaGFzIGxvYWRlZCwgcmVuZGVyaW5nIHRoZSBwYWdlIAorICAg
ICAgICBhbmQgY2xlYXJpbmcgdGhlIGluaXRpYWwgZGlydHkgYml0cyBpbiB0aGUgcG9zaXRpb25l
ZCBlbGVtZW50J3MgcmVuZGVyZXIuIFdoZW4gdGhlIGltYWdlIGZpbmFsbHkgCisgICAgICAgIGxv
YWRzIGluIHRoaXMgc2NlbmFyaW8sIHRoZSBwb3NpdGlvbmVkIGVsZW1lbnQgaXMgb3RoZXJ3aXNl
IGNsZWFuIGFuZCByZWxpZXMgb24gdGhlIGFib3ZlIGNvZGUgdG8gZ2V0IAorICAgICAgICByZS1y
ZW5kZXJlZC4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCbG9jazo6bGF5b3V0UG9zaXRpb25lZE9iamVjdHMpOiByZW1vdmUg
dGhlIGNoZWNrIGZvciByLT5wYXJlbnQoKS0+aXNCbG9ja0Zsb3coKSB3aGVuIAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjaWRpbmcg
d2hldGhlciB0byBtYXJrIGNoaWxkcmVuIGZvciBsYXlvdXQKKwogMjAxMS0wOS0wMyAgWXV0YSBL
aXRhbXVyYSAgPHl1dGFrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWJTb2NrZXQ6IFNlbmQg
QXJyYXlCdWZmZXIgYXMgV2ViU29ja2V0IGJpbmFyeSBtZXNzYWdlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrLmNwcAppbmRleCBiYmRiZWNmNGIzNzAzYWNhNDM5YjBhODE3ZTli
NmJiYzM3N2U4YzYxLi5hM2Y5OTgxZDhkNWUyZGQ5ODBhMWI4OTU5NGI5NGQzNDUwOTBjMzljIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKQEAgLTIyNDQsNyArMjI0
NCw3IEBAIGJvb2wgUmVuZGVyQmxvY2s6OmxheW91dFBvc2l0aW9uZWRPYmplY3RzKGJvb2wgcmVs
YXlvdXRDaGlsZHJlbikKICAgICAgICAgLy8gbm9uLXBvc2l0aW9uZWQgYmxvY2suICBSYXRoZXIg
dGhhbiB0cnlpbmcgdG8gZGV0ZWN0IGFsbCBvZiB0aGVzZSBtb3ZlbWVudCBjYXNlcywgd2UganVz
dCBhbHdheXMgbGF5IG91dCBwb3NpdGlvbmVkCiAgICAgICAgIC8vIG9iamVjdHMgdGhhdCBhcmUg
cG9zaXRpb25lZCBpbXBsaWNpdGx5IGxpa2UgdGhpcy4gIFN1Y2ggb2JqZWN0cyBhcmUgcmFyZSwg
YW5kIHNvIGluIHR5cGljYWwgREhUTUwgbWVudSB1c2FnZSAod2hlcmUgZXZlcnl0aGluZyBpcwog
ICAgICAgICAvLyBwb3NpdGlvbmVkIGV4cGxpY2l0bHkpIHRoaXMgc2hvdWxkIG5vdCBpbmN1ciBh
IHBlcmZvcm1hbmNlIHBlbmFsdHkuCi0gICAgICAgIGlmIChyZWxheW91dENoaWxkcmVuIHx8IChy
LT5zdHlsZSgpLT5oYXNTdGF0aWNCbG9ja1Bvc2l0aW9uKGlzSG9yaXpvbnRhbFdyaXRpbmdNb2Rl
KCkpICYmIHItPnBhcmVudCgpICE9IHRoaXMgJiYgci0+cGFyZW50KCktPmlzQmxvY2tGbG93KCkp
KQorICAgICAgICBpZiAocmVsYXlvdXRDaGlsZHJlbiB8fCAoci0+c3R5bGUoKS0+aGFzU3RhdGlj
QmxvY2tQb3NpdGlvbihpc0hvcml6b250YWxXcml0aW5nTW9kZSgpKSAmJiByLT5wYXJlbnQoKSAh
PSB0aGlzKSkKICAgICAgICAgICAgIHItPnNldENoaWxkTmVlZHNMYXlvdXQodHJ1ZSwgZmFsc2Up
OwogICAgICAgICAgICAgCiAgICAgICAgIC8vIElmIHJlbGF5b3V0Q2hpbGRyZW4gaXMgc2V0IGFu
ZCB0aGUgY2hpbGQgaGFzIHBlcmNlbnRhZ2UgcGFkZGluZyBvciBhbiBlbWJlZGRlZCBjb250ZW50
IGJveCwgd2UgYWxzbyBuZWVkIHRvIGludmFsaWRhdGUgdGhlIGNoaWxkcyBwcmVmIHdpZHRocy4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106285</attachid>
            <date>2011-09-04 05:30:55 -0700</date>
            <delta_ts>2011-09-06 09:00:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54611-20110904133053.patch</filename>
            <type>text/plain</type>
            <size>8012</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQ1MDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4NWZlZWU1MTdlZjNkZDBjMTg4YWMw
OWY4ZDcyYWEyMTE1MDUzMDUzLi45ZDljMzU2NGVkOTkwYmM4MjU3ZjEwYjEyNDc3ODEwNWRiZTZh
N2RkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDktMDMgIFJvYmVydCBIb2dhbiAgPHJv
YmVydEB3ZWJraXQub3JnPgorCisgICAgICAgIEVsZW1lbnRzIHdpdGggcG9zaXRpb246YWJzb2x1
dGUgZG9uJ3QgbW92ZSB0byBjb3JyZWN0IHBvc2l0aW9uIGFmdGVyIGltYWdlcyBsb2FkCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDYxMQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9ibG9jay9w
b3NpdGlvbmluZy9hYnNvbHV0ZS1sYXlvdXQtYWZ0ZXItaW1hZ2UtbG9hZC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvYmxvY2svcG9zaXRpb25pbmcvYWJzb2x1dGUtbGF5b3V0
LWFmdGVyLWltYWdlLWxvYWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9ibG9jay9wb3Np
dGlvbmluZy9yZXNvdXJjZXMvYWJzb2x1dGUtbGF5b3V0LWFmdGVyLWltYWdlLWxvYWQtMi5odG1s
OiBBZGRlZC4KKwogMjAxMS0wOS0wMyAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4K
IAogICAgICAgICBSRUdSRVNTSU9OKHI5NDI3NCk6IHNlbGVjdGlvbi1jaGFuZ2UtY2xvc2VzLXR5
cGluZy5odG1sIGZhaWxzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Jsb2NrL3Bvc2l0
aW9uaW5nL2Fic29sdXRlLWxheW91dC1hZnRlci1pbWFnZS1sb2FkLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvYmxvY2svcG9zaXRpb25pbmcvYWJzb2x1dGUtbGF5b3V0LWFmdGVyLWlt
YWdlLWxvYWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY0ZTJjYTUxMzY1MWU0ZDZlNThhNDBj
NjU3YTY3NzU0ZjUzNDEzOGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Js
b2NrL3Bvc2l0aW9uaW5nL2Fic29sdXRlLWxheW91dC1hZnRlci1pbWFnZS1sb2FkLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDMgQEAKKworWzFdCitTVUNDRVNTCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2Jsb2NrL3Bvc2l0aW9uaW5nL2Fic29sdXRlLWxheW91dC1hZnRlci1pbWFnZS1s
b2FkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Jsb2NrL3Bvc2l0aW9uaW5nL2Fic29sdXRlLWxh
eW91dC1hZnRlci1pbWFnZS1sb2FkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2MyZGQ1YWI2ZWEwYjZlNWY4
MDkyYjJkZTU0Y2VlNjViMjEzMjVmMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvYmxvY2svcG9zaXRpb25pbmcvYWJzb2x1dGUtbGF5b3V0LWFmdGVyLWltYWdlLWxvYWQuaHRt
bApAQCAtMCwwICsxLDIyIEBACis8aHRtbD4KKzxoZWFkPgorPG1ldGEgaHR0cC1lcXVpdj0iQ29u
dGVudC1TdHlsZS1UeXBlIiBjb250ZW50PSJ0ZXh0L2NzcyI+Cis8c2NyaXB0PgorICAgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxE
b25lKCk7CisgICAgIH0KKworICAgIC8vICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTU0NjExCisgICAgLy8gICBXaGVuIG5hdmlnYXRpbmcgdG8gYWJzb2x1dGUtbGF5
b3V0LWFmdGVyLWltYWdlLWxvYWQtMi5odG1sI2FuY2hvcjEgZGlyZWN0bHksIHRoZSBhbmNob3Ig
c2hvdWxkIGJlIHBvc2l0aW9uZWQgYmVsb3cgCisgICAgLy8gICB0aGUgaW1hZ2Ugb24gZmlyc3Qg
bG9hZC4gVGhlIHRlc3QgaXMgc2Vuc2l0aXZlIHRvIGNhY2hpbmcgb2YgdGhlIGltYWdlLCBzbyB5
b3Ugc2hvdWxkIHJlbG9hZCAKKyAgICAvLyAgIGFic29sdXRlLWxheW91dC1hZnRlci1pbWFnZS1s
b2FkLTIuaHRtbCNhbmNob3IxIGlmIHRlc3RpbmcgbWFudWFsbHkuCisKKyAgICBmdW5jdGlvbiB0
ZXN0KCl7CisgICAgICAgIHNldFRpbWVvdXQobG9jYXRpb24uYXNzaWduKCJyZXNvdXJjZXMvYWJz
b2x1dGUtbGF5b3V0LWFmdGVyLWltYWdlLWxvYWQtMi5odG1sI2FuY2hvcjEiKSwwKTsKKyAgICB9
Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpOyI+Cis8L2JvZHk+PC9o
dG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Jsb2NrL3Bvc2l0aW9uaW5nL3Jl
c291cmNlcy9hYnNvbHV0ZS1sYXlvdXQtYWZ0ZXItaW1hZ2UtbG9hZC0yLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Jsb2NrL3Bvc2l0aW9uaW5nL3Jlc291cmNlcy9hYnNvbHV0ZS1sYXlvdXQtYWZ0
ZXItaW1hZ2UtbG9hZC0yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODc1NzQxODIxN2U2MDJkMzJmOWEzNThh
ZjljMWY1N2Q2ZTZjNGYxMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvYmxv
Y2svcG9zaXRpb25pbmcvcmVzb3VyY2VzL2Fic29sdXRlLWxheW91dC1hZnRlci1pbWFnZS1sb2Fk
LTIuaHRtbApAQCAtMCwwICsxLDQzIEBACis8aHRtbD4KKzxoZWFkPgorPG1ldGEgaHR0cC1lcXVp
dj0iQ29udGVudC1TdHlsZS1UeXBlIiBjb250ZW50PSJ0ZXh0L2NzcyI+Cis8c3R5bGUgdHlwZT0i
dGV4dC9jc3MiPgorICBib2R5IHsgbWFyZ2luLWxlZnQ6IDEwJTsgbWFyZ2luLXJpZ2h0OiAxMCU7
fQorICBoMSxoMixoMyxoNCxoNSxoNiB7IHRleHQtYWxpZ246IGNlbnRlcjsgY2xlYXI6IGJvdGg7
fQorICBoMSBzcGFuIHsgZGlzcGxheTogYmxvY2s7IHBhZGRpbmctYm90dG9tOiAwLjVlbTsgfQor
ICAuZmlnY2VudGVyICAgeyBtYXJnaW46IGF1dG87IHRleHQtYWxpZ246IGNlbnRlcjt9CisgIC5m
b290bm90ZXMgICAgICAgIHtib3JkZXI6IGRhc2hlZCAxcHg7fQorICAuZm9vdG5vdGUgICAgICAg
ICB7bWFyZ2luLWxlZnQ6IDEwJTsgbWFyZ2luLXJpZ2h0OiAxMCU7IGZvbnQtc2l6ZTogMC45ZW07
fQorICAuZm9vdG5vdGUgLmxhYmVsICB7cG9zaXRpb246IGFic29sdXRlOyByaWdodDogODQlOyB0
ZXh0LWFsaWduOiByaWdodDt9Cis8L3N0eWxlPgorCis8c2NyaXB0PgorICAgIGlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVt
cEFzVGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7
CisgICAgIH0KKworICAgIC8vICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTU0NjExCisgICAgLy8gICBXaGVuIG5hdmlnYXRpbmcgdG8gdGhlIGFuY2hvciBkaXJlY3Rs
eSwgdGhlIGFuY2hvciBzaG91bGQgYmUgcG9zaXRpb25lZCBiZWxvdyAKKyAgICAvLyAgIHRoZSBp
bWFnZSBvbiBmaXJzdCBsb2FkLgorCisgICAgZnVuY3Rpb24gdGVzdCgpeworICAgICAgICB2YXIg
Ym90dG9tT2ZJbWFnZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbWFnZSIpLm9mZnNldFRv
cCArIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbWFnZSIpLm9mZnNldEhlaWdodDsKKyAgICAg
ICAgdmFyIGZvb3Rub3RlUG9zaXRpb24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3BhbnRl
eHQiKS5vZmZzZXRUb3A7CisgICAgICAgIGlmIChmb290bm90ZVBvc2l0aW9uID49IGJvdHRvbU9m
SW1hZ2UpCisgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5l
ckhUTUwgPSAiU1VDQ0VTUyI7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURv
bmUoKTsKKyAgICB9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCk7
Ij4KKzxkaXYgY2xhc3M9ImZpZ2NlbnRlciI+CisgIDxpbWcgaWQ9ImltYWdlIiBzcmM9InJlc291
cmNlcy9pY29uLWdvbGQucG5nIiBhbHQ9IkJvb2sgY292ZXIuIiB0aXRsZT0iIj4KKzwvZGl2Pgor
Cis8ZGl2IGNsYXNzPSJmb290bm90ZSI+PGEgaWQ9ImFuY2hvcjEiPjwvYT48YSBocmVmPSJodHRw
Oi8vd3d3Lmd1dGVuYmVyZy5vcmcvZmlsZXMvMzM0MzkvMzM0MzktaC8zMzQzOS1oLmh0bSNGTmFu
Y2hvcl8xIj48c3BhbiBpZD0ic3BhbnRleHQiIGNsYXNzPSJsYWJlbCI+WzFdPC9zcGFuPjwvYT48
L2Rpdj4KKworPGRpdiBpZD0iY29uc29sZSI+RkFJTFVSRTwvZGl2PgorPC9ib2R5PjwvaHRtbD4K
KwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IDk0N2U0MzcwM2NhMzBhMDdkZjMwNGQ2NmUzYzQ5OTA1MjBkNDBjMGQu
LjMxYWYwMjhiNGE1YWZjOWJkYmZjZGM1ZTU4MDRkYWE0YTdhMzI1ZmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwzNiBAQAorMjAxMS0wOS0wMyAgUm9iZXJ0IEhvZ2FuICA8cm9iZXJ0QHdlYmtpdC5v
cmc+CisKKyAgICAgICAgRWxlbWVudHMgd2l0aCBwb3NpdGlvbjphYnNvbHV0ZSBkb24ndCBtb3Zl
IHRvIGNvcnJlY3QgcG9zaXRpb24gYWZ0ZXIgaW1hZ2VzIGxvYWQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0NjExCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9ibG9jay9wb3NpdGlvbmlu
Zy9hYnNvbHV0ZS1sYXlvdXQtYWZ0ZXItaW1hZ2UtbG9hZC5odG1sCisKKyAgICAgICAgVGhlIHJl
ZHVjZWQgY2FzZSBmb3IgdGhpcyBidWcgaXM6CisKKyAgICAgICAgPHN0eWxlIHR5cGU9InRleHQv
Y3NzIj4KKyAgICAgICAgLmZvb3Rub3RlIC5sYWJlbCAge3Bvc2l0aW9uOiBhYnNvbHV0ZTsgcmln
aHQ6IDg0JTsgdGV4dC1hbGlnbjogcmlnaHQ7fQorICAgICAgICA8L3N0eWxlPgorICAgICAgICA8
aW1nIHNyYz0iaHR0cDovL3d3dy5ndXRlbmJlcmcub3JnL2ZpbGVzLzMzNDM5LzMzNDM5LWgvaW1h
Z2VzL2NvdmVyLmpwZyI+CisgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rub3RlIj48YSBpZD0iRm9v
dG5vdGVfMSI+PC9hPjxhIGhyZWY9InJlc291cmNlcy9ncmVlbmJveC5wbmciPjxkaXYgY2xhc3M9
ImxhYmVsIj5bMV08L2Rpdj48L2E+PC9kaXY+CisKKyAgICAgICAgVGhlICdsYWJlbCcgYmxvY2sg
aXMgYW4gYWJzb2x1dGVseSBwb3NpdGlvbmVkIGNoaWxkIG9mIGFuIGlubGluZSBmbG93LiBTbyBk
dXJpbmcgbGF5b3V0LCAKKyAgICAgICAgdGhpcyBSZW5kZXJCbG9jazo6bGF5b3V0UG9zaXRpb25l
ZE9iamVjdHMgZmFpbHMgdG8gZGlydHkgaXQgZm9yIHJlbmRlcmluZyBiZWNhdXNlIGl0IHJlcXVp
cmVzIAorICAgICAgICB0aGUgcGFyZW50IHRvIGJlIGEgQmxvY2tGbG93LiBUaGUgY29kZSB0byBk
byB0aGlzIHdhcyBpbnRyb2R1Y2VkIGluIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0
LzgyODQuIAorICAgICAgICBUaGVyZSBkb2Vzbid0IHNlZW0gdG8gYmUgYSBnb29kIHJlYXNvbiBm
b3IgcmVxdWlyaW5nIGEgQmxvY2tGbG93LCBzbyByZW1vdmUgdGhlIGNoZWNrLgorCisgICAgICAg
IE5vdGU6IEFsdGhvdWdoIHRoZSBpc3N1ZSBpcyBlbmNvdW50ZXJlZCBvbmx5IG9uIGZpcnN0IGxv
YWQgd2l0aG91dCBhIGZyYWdtZW50IGlkZW50aWZpZXIsIGl0IAorICAgICAgICBoYXBwZW5zIHJl
bGlhYmx5IHdoZW4geW91IGluY2x1ZGUgdGhlIGZyYWdtZW50IGlkZW50aWZpZXIgaW4gdGhlIHVy
bCAoI0Zvb3Rub3RlXzEpLiBUaGlzIGlzIHNvIAorICAgICAgICBiZWNhdXNlIHNjcm9sbGluZyB0
byB0aGUgZnJhZ21lbnQgYWx3YXlzIGhhcHBlbnMgYmVmb3JlIHRoZSBpbWFnZSBoYXMgbG9hZGVk
LCByZW5kZXJpbmcgdGhlIHBhZ2UgCisgICAgICAgIGFuZCBjbGVhcmluZyB0aGUgaW5pdGlhbCBk
aXJ0eSBiaXRzIGluIHRoZSBwb3NpdGlvbmVkIGVsZW1lbnQncyByZW5kZXJlci4gV2hlbiB0aGUg
aW1hZ2UgZmluYWxseSAKKyAgICAgICAgbG9hZHMgaW4gdGhpcyBzY2VuYXJpbywgdGhlIHBvc2l0
aW9uZWQgZWxlbWVudCBpcyBvdGhlcndpc2UgY2xlYW4gYW5kIHJlbGllcyBvbiB0aGUgYWJvdmUg
Y29kZSB0byBnZXQgCisgICAgICAgIHJlLXJlbmRlcmVkLgorCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckJsb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpsYXlvdXRQ
b3NpdGlvbmVkT2JqZWN0cyk6IHJlbW92ZSB0aGUgY2hlY2sgZm9yIHItPnBhcmVudCgpLT5pc0Js
b2NrRmxvdygpIHdoZW4gCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBkZWNpZGluZyB3aGV0aGVyIHRvIG1hcmsgY2hpbGRyZW4gZm9yIGxh
eW91dAorCiAyMDExLTA5LTAzICBMYXN6bG8gR29tYm9zICA8bGFzemxvLjEuZ29tYm9zQG5va2lh
LmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyODYyNjgpOiBGaXggZm9yIHF0X25ldHdvcmtB
Y2Nlc3NBbGxvd2VkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCmlu
ZGV4IGJiZGJlY2Y0YjM3MDNhY2E0MzliMGE4MTdlOWI2YmJjMzc3ZThjNjEuLmEzZjk5ODFkOGQ1
ZTJkZDk4MGExYjg5NTk0Yjk0ZDM0NTA5MGMzOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrLmNwcApAQCAtMjI0NCw3ICsyMjQ0LDcgQEAgYm9vbCBSZW5kZXJCbG9jazo6
bGF5b3V0UG9zaXRpb25lZE9iamVjdHMoYm9vbCByZWxheW91dENoaWxkcmVuKQogICAgICAgICAv
LyBub24tcG9zaXRpb25lZCBibG9jay4gIFJhdGhlciB0aGFuIHRyeWluZyB0byBkZXRlY3QgYWxs
IG9mIHRoZXNlIG1vdmVtZW50IGNhc2VzLCB3ZSBqdXN0IGFsd2F5cyBsYXkgb3V0IHBvc2l0aW9u
ZWQKICAgICAgICAgLy8gb2JqZWN0cyB0aGF0IGFyZSBwb3NpdGlvbmVkIGltcGxpY2l0bHkgbGlr
ZSB0aGlzLiAgU3VjaCBvYmplY3RzIGFyZSByYXJlLCBhbmQgc28gaW4gdHlwaWNhbCBESFRNTCBt
ZW51IHVzYWdlICh3aGVyZSBldmVyeXRoaW5nIGlzCiAgICAgICAgIC8vIHBvc2l0aW9uZWQgZXhw
bGljaXRseSkgdGhpcyBzaG91bGQgbm90IGluY3VyIGEgcGVyZm9ybWFuY2UgcGVuYWx0eS4KLSAg
ICAgICAgaWYgKHJlbGF5b3V0Q2hpbGRyZW4gfHwgKHItPnN0eWxlKCktPmhhc1N0YXRpY0Jsb2Nr
UG9zaXRpb24oaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkgJiYgci0+cGFyZW50KCkgIT0gdGhp
cyAmJiByLT5wYXJlbnQoKS0+aXNCbG9ja0Zsb3coKSkpCisgICAgICAgIGlmIChyZWxheW91dENo
aWxkcmVuIHx8IChyLT5zdHlsZSgpLT5oYXNTdGF0aWNCbG9ja1Bvc2l0aW9uKGlzSG9yaXpvbnRh
bFdyaXRpbmdNb2RlKCkpICYmIHItPnBhcmVudCgpICE9IHRoaXMpKQogICAgICAgICAgICAgci0+
c2V0Q2hpbGROZWVkc0xheW91dCh0cnVlLCBmYWxzZSk7CiAgICAgICAgICAgICAKICAgICAgICAg
Ly8gSWYgcmVsYXlvdXRDaGlsZHJlbiBpcyBzZXQgYW5kIHRoZSBjaGlsZCBoYXMgcGVyY2VudGFn
ZSBwYWRkaW5nIG9yIGFuIGVtYmVkZGVkIGNvbnRlbnQgYm94LCB3ZSBhbHNvIG5lZWQgdG8gaW52
YWxpZGF0ZSB0aGUgY2hpbGRzIHByZWYgd2lkdGhzLgo=
</data>
<flag name="review"
          id="102676"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
    <flag name="commit-queue"
          id="102855"
          type_id="3"
          status="-"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>