<?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>17253</bug_id>
          
          <creation_ts>2008-02-09 01:34:39 -0800</creation_ts>
          <short_desc>parser does not create nodes inside &lt;iframe&gt; (test 4 in Acid3 &apos;ignoring whitespace during NodeIterator walk&apos; fails)</short_desc>
          <delta_ts>2008-02-10 14:30:24 -0800</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>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>HasReduction</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>17064</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          <cc>darin</cc>
    
    <cc>hyatt</cc>
    
    <cc>ian</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>69906</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-02-09 01:34:39 -0800</bug_when>
    <thetext>Acid3 test ignoring whitespace during NodeIterator walk fails

Test 4: expected: null, got: [object HTMLIFrameElement] - expectation 21 failed

This will need further reduction.

    function () {
      // test 4: ignoring whitespace text nodes with node iterators
      var count = 0;
      var expect = function(node1, node2) {
        count += 1;
        assertEquals(node1, node2, &quot;expectation &quot; + count + &quot; failed&quot;);
      };
      var allButWS = function (node) {
        if (node.nodeType == 3 &amp;&amp; node.data.match(/^\s*$/))
          return 2;
        return 1;
      };
      var i = document.createNodeIterator(document.body, 0x01 | 0x04 | 0x08 | 0x10 | 0x20, allButWS, true);
      // now walk the document body and make sure everything is in the right place
      expect(i.nextNode(), document.body); // 1
      expect(i.nextNode(), document.getElementsByTagName(&apos;h1&apos;)[0]);
      expect(i.nextNode(), document.getElementsByTagName(&apos;h1&apos;)[0].firstChild);
      expect(i.nextNode(), document.getElementsByTagName(&apos;div&apos;)[0]);
      expect(i.nextNode(), document.getElementById(&apos;bucket1&apos;));
      expect(i.nextNode(), document.getElementById(&apos;bucket2&apos;));
      expect(i.nextNode(), document.getElementById(&apos;bucket3&apos;));
      expect(i.nextNode(), document.getElementById(&apos;bucket4&apos;));
      expect(i.nextNode(), document.getElementById(&apos;bucket5&apos;));
      expect(i.nextNode(), document.getElementById(&apos;bucket6&apos;)); // 10
      expect(i.nextNode(), document.getElementById(&apos;result&apos;));
      expect(i.nextNode(), document.getElementById(&apos;score&apos;));
      expect(i.nextNode(), document.getElementById(&apos;score&apos;).firstChild);
      expect(i.nextNode(), document.getElementById(&apos;slash&apos;));
      expect(i.nextNode(), document.getElementById(&apos;slash&apos;).firstChild);
      expect(i.nextNode(), document.getElementById(&apos;slash&apos;).nextSibling);
      expect(i.nextNode(), document.getElementById(&apos;slash&apos;).nextSibling.firstChild);
      expect(i.nextNode(), document.getElementsByTagName(&apos;map&apos;)[0]);
      expect(i.nextNode(), document.getElementsByTagName(&apos;area&apos;)[0]);
      expect(i.nextNode(), document.getElementsByTagName(&apos;iframe&apos;)[0]); // 20
      expect(i.nextNode(), document.getElementsByTagName(&apos;iframe&apos;)[0].firstChild);
      expect(i.nextNode(), document.getElementsByTagName(&apos;iframe&apos;)[1]);
      expect(i.nextNode(), document.getElementsByTagName(&apos;iframe&apos;)[1].firstChild);
      expect(i.nextNode(), document.getElementsByTagName(&apos;iframe&apos;)[2]);
      expect(i.nextNode(), document.forms[0]);
      expect(i.nextNode(), document.forms.form.elements[0]);
      expect(i.nextNode(), document.getElementsByTagName(&apos;table&apos;)[0]);
      expect(i.nextNode(), document.getElementsByTagName(&apos;tbody&apos;)[0]);
      expect(i.nextNode(), document.getElementsByTagName(&apos;tr&apos;)[0]);
      expect(i.nextNode(), document.getElementsByTagName(&apos;td&apos;)[0]);
      expect(i.nextNode(), document.getElementsByTagName(&apos;td&apos;)[0].getElementsByTagName(&apos;p&apos;)[0]);
      expect(i.nextNode(), document.getElementById(&apos;instructions&apos;));
      expect(i.nextNode(), document.getElementById(&apos;instructions&apos;).firstChild);
      expect(i.nextNode().nodeName, &quot;SPAN&quot;);
      expect(i.nextNode().nodeName, &quot;#text&quot;);
      expect(i.nextNode(), document.links[1]);
      expect(i.nextNode(), document.links[1].firstChild);
      expect(i.nextNode(), document.getElementById(&apos;instructions&apos;).lastChild);
      expect(i.nextNode(), null);
      // walk it backwards for good measure
      expect(i.previousNode(), document.getElementById(&apos;instructions&apos;).lastChild);
      expect(i.previousNode(), document.links[1].firstChild);
      expect(i.previousNode(), document.links[1]);
      expect(i.previousNode().nodeName, &quot;#text&quot;);
      expect(i.previousNode().nodeName, &quot;SPAN&quot;);
      expect(i.previousNode(), document.getElementById(&apos;instructions&apos;).firstChild);
      expect(i.previousNode(), document.getElementById(&apos;instructions&apos;));
      expect(i.previousNode(), document.getElementsByTagName(&apos;td&apos;)[0].getElementsByTagName(&apos;p&apos;)[0]);
      expect(i.previousNode(), document.getElementsByTagName(&apos;td&apos;)[0]);
      expect(i.previousNode(), document.getElementsByTagName(&apos;tr&apos;)[0]);
      expect(i.previousNode(), document.getElementsByTagName(&apos;tbody&apos;)[0]);
      expect(i.previousNode(), document.getElementsByTagName(&apos;table&apos;)[0]);
      expect(i.previousNode(), document.forms.form.elements[0]);
      expect(i.previousNode(), document.forms[0]);
      expect(i.previousNode(), document.getElementsByTagName(&apos;iframe&apos;)[2]);
      expect(i.previousNode(), document.getElementsByTagName(&apos;iframe&apos;)[1].firstChild);
      expect(i.previousNode(), document.getElementsByTagName(&apos;iframe&apos;)[1]);
      expect(i.previousNode(), document.getElementsByTagName(&apos;iframe&apos;)[0].firstChild);
      expect(i.previousNode(), document.getElementsByTagName(&apos;iframe&apos;)[0]); // 20
      expect(i.previousNode(), document.getElementsByTagName(&apos;area&apos;)[0]);
      expect(i.previousNode(), document.getElementsByTagName(&apos;map&apos;)[0]);
      expect(i.previousNode(), document.getElementById(&apos;slash&apos;).nextSibling.firstChild);
      expect(i.previousNode(), document.getElementById(&apos;slash&apos;).nextSibling);
      expect(i.previousNode(), document.getElementById(&apos;slash&apos;).firstChild);
      expect(i.previousNode(), document.getElementById(&apos;slash&apos;));
      expect(i.previousNode(), document.getElementById(&apos;score&apos;).firstChild);
      expect(i.previousNode(), document.getElementById(&apos;score&apos;));
      expect(i.previousNode(), document.getElementById(&apos;result&apos;));
      expect(i.previousNode(), document.getElementById(&apos;bucket6&apos;));
      expect(i.previousNode(), document.getElementById(&apos;bucket5&apos;));
      expect(i.previousNode(), document.getElementById(&apos;bucket4&apos;));
      expect(i.previousNode(), document.getElementById(&apos;bucket3&apos;));
      expect(i.previousNode(), document.getElementById(&apos;bucket2&apos;));
      expect(i.previousNode(), document.getElementById(&apos;bucket1&apos;));
      expect(i.previousNode(), document.getElementsByTagName(&apos;div&apos;)[0]);
      expect(i.previousNode(), document.getElementsByTagName(&apos;h1&apos;)[0].firstChild);
      expect(i.previousNode(), document.getElementsByTagName(&apos;h1&apos;)[0]);
      expect(i.previousNode(), document.body);
      expect(i.previousNode(), null);
      return 1;
    },</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69910</commentid>
    <comment_count>1</comment_count>
      <attachid>19015</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-02-09 02:02:37 -0800</bug_when>
    <thetext>Created attachment 19015
possible test case? (FF and Opera fail too)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69920</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-02-09 07:19:00 -0800</bug_when>
    <thetext>I added Hixie to the CC list because I thought this was a bug in the test. But I&apos;m not so sure now. I&apos;ll investigate this some soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>70106</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-02-10 12:27:24 -0800</bug_when>
    <thetext>The failure remaining seems to have nothing to do with NodeIterator.

The problem is that this is an &lt;iframe&gt; with a src that fails to load. At some point, when the load fails, presumably we are supported to fall back and display the fallback content instead as we do with &lt;object&gt;.

I don&apos;t know what the test does to ensure that it doesn&apos;t try to run *before* the &lt;iframe&gt; has tried and failed to load its src, but I&apos;m presuming it does something. If it doesn&apos;t then there could be an Acid3 bug.

Then we have to make sure that the error from the server is treated as a failure. And make sure we do fallback. As far as I can tell we don&apos;t even try to do fallback for &lt;iframe&gt;. In fact, until now I had been under the impression that &lt;iframe&gt; was supposed to fall back only for browsers that don&apos;t support &lt;iframe&gt;, not for missing resources.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>70108</commentid>
    <comment_count>4</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2008-02-10 12:30:01 -0800</bug_when>
    <thetext>This is news to me.  I had no idea &lt;iframe&gt; was supposed to do this.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>70109</commentid>
    <comment_count>5</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2008-02-10 12:31:15 -0800</bug_when>
    <thetext>Are you sure this isn&apos;t just a bug where the fallback content is always supposed to be present in the DOM?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>70114</commentid>
    <comment_count>6</comment_count>
      <attachid>19046</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2008-02-10 12:49:22 -0800</bug_when>
    <thetext>Created attachment 19046
Remove the special skipMode behavior for iframes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>70116</commentid>
    <comment_count>7</comment_count>
      <attachid>19046</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2008-02-10 12:52:29 -0800</bug_when>
    <thetext>Comment on attachment 19046
Remove the special skipMode behavior for iframes.

Never mind. It&apos;s more complicated than this.  We need to enter a special &quot;CDATA parsing mode&quot; according to HTML5.  What is inside the &lt;iframe&gt; should be treated as simple text.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>70119</commentid>
    <comment_count>8</comment_count>
      <attachid>19047</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2008-02-10 13:04:35 -0800</bug_when>
    <thetext>Created attachment 19047
Treat &lt;iframe&gt; like &lt;title&gt; and &lt;textarea&gt;, since that&apos;s what it is really supposed to be like.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>70138</commentid>
    <comment_count>9</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2008-02-10 14:30:24 -0800</bug_when>
    <thetext>Fixed in r30127.

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>19015</attachid>
            <date>2008-02-09 02:02:37 -0800</date>
            <delta_ts>2008-02-09 02:02:37 -0800</delta_ts>
            <desc>possible test case? (FF and Opera fail too)</desc>
            <filename>test.html</filename>
            <type>text/html</type>
            <size>356</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">PGlmcmFtZSBpZD0idGVzdCI+VEVTVDwvaWZyYW1lPgo8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2Pgo8
c2NyaXB0Pgp2YXIgaWZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKTsKdmFy
IHJlc3VsdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKTsKaWYgKGlmcmFtZS5m
aXJzdENoaWxkICYmIGlmcmFtZS5maXJzdENoaWxkLnZhbHVlID09ICJURVNUIikgewogICAgcmVz
dWx0LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJQQVNTIikpOwp9IGVsc2Ug
ewogICAgcmVzdWx0LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJGQUlMIikp
OzsKfQo8L3NjcmlwdD4=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>19046</attachid>
            <date>2008-02-10 12:49:22 -0800</date>
            <delta_ts>2008-02-10 13:04:35 -0800</delta_ts>
            <desc>Remove the special skipMode behavior for iframes.</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>1297</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IGh0bWwvSFRNTFBhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gaHRtbC9IVE1MUGFyc2Vy
LmNwcAkocmV2aXNpb24gMzAxMjMpCisrKyBodG1sL0hUTUxQYXJzZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC02NzcsMTMgKzY3Nyw2IEBAIGJvb2wgSFRNTFBhcnNlcjo6ZnJhbWVzZXRDcmVhdGVF
cnJvckNoZWMKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBIVE1MUGFyc2VyOjppZnJhbWVD
cmVhdGVFcnJvckNoZWNrKFRva2VuKiB0LCBSZWZQdHI8Tm9kZT4mIHJlc3VsdCkKLXsKLSAgICAv
LyBhIGJpdCBvZiBhIHNwZWNpYWwgY2FzZSwgc2luY2UgdGhlIGZyYW1lIGlzIGlubGluZWQKLSAg
ICBzZXRTa2lwTW9kZShpZnJhbWVUYWcpOwotICAgIHJldHVybiB0cnVlOwotfQotCiBib29sIEhU
TUxQYXJzZXI6OmZvcm1DcmVhdGVFcnJvckNoZWNrKFRva2VuKiB0LCBSZWZQdHI8Tm9kZT4mIHJl
c3VsdCkKIHsKICAgICAvLyBPbmx5IGNyZWF0ZSBhIG5ldyBmb3JtIGlmIHdlJ3JlIG5vdCBhbHJl
YWR5IGluc2lkZSBvbmUuCkBAIC03OTgsNyArNzkxLDYgQEAgUGFzc1JlZlB0cjxOb2RlPiBIVE1M
UGFyc2VyOjpnZXROb2RlKFRvawogICAgICAgICBnRnVuY3Rpb25NYXAuc2V0KGZyYW1lc2V0VGFn
LmxvY2FsTmFtZSgpLmltcGwoKSwgJkhUTUxQYXJzZXI6OmZyYW1lc2V0Q3JlYXRlRXJyb3JDaGVj
ayk7CiAgICAgICAgIGdGdW5jdGlvbk1hcC5zZXQoaGVhZFRhZy5sb2NhbE5hbWUoKS5pbXBsKCks
ICZIVE1MUGFyc2VyOjpoZWFkQ3JlYXRlRXJyb3JDaGVjayk7CiAgICAgICAgIGdGdW5jdGlvbk1h
cC5zZXQoaVRhZy5sb2NhbE5hbWUoKS5pbXBsKCksICZIVE1MUGFyc2VyOjpuZXN0ZWRTdHlsZUNy
ZWF0ZUVycm9yQ2hlY2spOwotICAgICAgICBnRnVuY3Rpb25NYXAuc2V0KGlmcmFtZVRhZy5sb2Nh
bE5hbWUoKS5pbXBsKCksICZIVE1MUGFyc2VyOjppZnJhbWVDcmVhdGVFcnJvckNoZWNrKTsKICAg
ICAgICAgZ0Z1bmN0aW9uTWFwLnNldChpc2luZGV4VGFnLmxvY2FsTmFtZSgpLmltcGwoKSwgJkhU
TUxQYXJzZXI6OmlzaW5kZXhDcmVhdGVFcnJvckNoZWNrKTsKICAgICAgICAgZ0Z1bmN0aW9uTWFw
LnNldChsaVRhZy5sb2NhbE5hbWUoKS5pbXBsKCksICZIVE1MUGFyc2VyOjpuZXN0ZWRDcmVhdGVF
cnJvckNoZWNrKTsKICAgICAgICAgZ0Z1bmN0aW9uTWFwLnNldChtYXBUYWcubG9jYWxOYW1lKCku
aW1wbCgpLCAmSFRNTFBhcnNlcjo6bWFwQ3JlYXRlRXJyb3JDaGVjayk7Cg==
</data>
<flag name="review"
          id="8322"
          type_id="1"
          status="-"
          setter="hyatt"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>19047</attachid>
            <date>2008-02-10 13:04:35 -0800</date>
            <delta_ts>2008-02-10 13:21:22 -0800</delta_ts>
            <desc>Treat &lt;iframe&gt; like &lt;title&gt; and &lt;textarea&gt;, since that&apos;s what it is really supposed to be like.</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>7263</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IGh0bWwvSFRNTFBhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gaHRtbC9IVE1MUGFyc2Vy
LmNwcAkocmV2aXNpb24gMzAxMjMpCisrKyBodG1sL0hUTUxQYXJzZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC02NzcsMTMgKzY3Nyw2IEBAIGJvb2wgSFRNTFBhcnNlcjo6ZnJhbWVzZXRDcmVhdGVF
cnJvckNoZWMKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBIVE1MUGFyc2VyOjppZnJhbWVD
cmVhdGVFcnJvckNoZWNrKFRva2VuKiB0LCBSZWZQdHI8Tm9kZT4mIHJlc3VsdCkKLXsKLSAgICAv
LyBhIGJpdCBvZiBhIHNwZWNpYWwgY2FzZSwgc2luY2UgdGhlIGZyYW1lIGlzIGlubGluZWQKLSAg
ICBzZXRTa2lwTW9kZShpZnJhbWVUYWcpOwotICAgIHJldHVybiB0cnVlOwotfQotCiBib29sIEhU
TUxQYXJzZXI6OmZvcm1DcmVhdGVFcnJvckNoZWNrKFRva2VuKiB0LCBSZWZQdHI8Tm9kZT4mIHJl
c3VsdCkKIHsKICAgICAvLyBPbmx5IGNyZWF0ZSBhIG5ldyBmb3JtIGlmIHdlJ3JlIG5vdCBhbHJl
YWR5IGluc2lkZSBvbmUuCkBAIC03OTgsNyArNzkxLDYgQEAgUGFzc1JlZlB0cjxOb2RlPiBIVE1M
UGFyc2VyOjpnZXROb2RlKFRvawogICAgICAgICBnRnVuY3Rpb25NYXAuc2V0KGZyYW1lc2V0VGFn
LmxvY2FsTmFtZSgpLmltcGwoKSwgJkhUTUxQYXJzZXI6OmZyYW1lc2V0Q3JlYXRlRXJyb3JDaGVj
ayk7CiAgICAgICAgIGdGdW5jdGlvbk1hcC5zZXQoaGVhZFRhZy5sb2NhbE5hbWUoKS5pbXBsKCks
ICZIVE1MUGFyc2VyOjpoZWFkQ3JlYXRlRXJyb3JDaGVjayk7CiAgICAgICAgIGdGdW5jdGlvbk1h
cC5zZXQoaVRhZy5sb2NhbE5hbWUoKS5pbXBsKCksICZIVE1MUGFyc2VyOjpuZXN0ZWRTdHlsZUNy
ZWF0ZUVycm9yQ2hlY2spOwotICAgICAgICBnRnVuY3Rpb25NYXAuc2V0KGlmcmFtZVRhZy5sb2Nh
bE5hbWUoKS5pbXBsKCksICZIVE1MUGFyc2VyOjppZnJhbWVDcmVhdGVFcnJvckNoZWNrKTsKICAg
ICAgICAgZ0Z1bmN0aW9uTWFwLnNldChpc2luZGV4VGFnLmxvY2FsTmFtZSgpLmltcGwoKSwgJkhU
TUxQYXJzZXI6OmlzaW5kZXhDcmVhdGVFcnJvckNoZWNrKTsKICAgICAgICAgZ0Z1bmN0aW9uTWFw
LnNldChsaVRhZy5sb2NhbE5hbWUoKS5pbXBsKCksICZIVE1MUGFyc2VyOjpuZXN0ZWRDcmVhdGVF
cnJvckNoZWNrKTsKICAgICAgICAgZ0Z1bmN0aW9uTWFwLnNldChtYXBUYWcubG9jYWxOYW1lKCku
aW1wbCgpLCAmSFRNTFBhcnNlcjo6bWFwQ3JlYXRlRXJyb3JDaGVjayk7CkluZGV4OiBodG1sL0hU
TUxUb2tlbml6ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGh0bWwvSFRNTFRva2VuaXplci5jcHAJKHJl
dmlzaW9uIDMwMTIzKQorKysgaHRtbC9IVE1MVG9rZW5pemVyLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtODUsNiArODUsNyBAQCBzdGF0aWMgY29uc3QgY2hhciB4bXBFbmQgW10gPSAiPC94bXAiOwog
c3RhdGljIGNvbnN0IGNoYXIgc3R5bGVFbmQgW10gPSAgIjwvc3R5bGUiOwogc3RhdGljIGNvbnN0
IGNoYXIgdGV4dGFyZWFFbmQgW10gPSAiPC90ZXh0YXJlYSI7CiBzdGF0aWMgY29uc3QgY2hhciB0
aXRsZUVuZCBbXSA9ICI8L3RpdGxlIjsKK3N0YXRpYyBjb25zdCBjaGFyIGlmcmFtZUVuZCBbXSA9
ICI8L2lmcmFtZSI7CiAKIC8vIEZ1bGwgc3VwcG9ydCBmb3IgTVMgV2luZG93cyBleHRlbnNpb25z
IHRvIExhdGluLTEuCiAvLyBUZWNobmljYWxseSB0aGVzZSBleHRlbnNpb25zIHNob3VsZCBvbmx5
IGJlIGFjdGl2YXRlZCBmb3IgcGFnZXMKQEAgLTI5Miw5ICsyOTMsOSBAQCBIVE1MVG9rZW5pemVy
OjpTdGF0ZSBIVE1MVG9rZW5pemVyOjpwcm9jCiAKIEhUTUxUb2tlbml6ZXI6OlN0YXRlIEhUTUxU
b2tlbml6ZXI6OnBhcnNlU3BlY2lhbChTZWdtZW50ZWRTdHJpbmcgJnNyYywgU3RhdGUgc3RhdGUp
CiB7Ci0gICAgQVNTRVJUKHN0YXRlLmluVGV4dEFyZWEoKSB8fCBzdGF0ZS5pblRpdGxlKCkgfHwg
IXN0YXRlLmhhc0VudGl0eVN0YXRlKCkpOworICAgIEFTU0VSVChzdGF0ZS5pblRleHRBcmVhKCkg
fHwgc3RhdGUuaW5UaXRsZSgpIHx8IHN0YXRlLmluSUZyYW1lKCkgfHwgIXN0YXRlLmhhc0VudGl0
eVN0YXRlKCkpOwogICAgIEFTU0VSVCghc3RhdGUuaGFzVGFnU3RhdGUoKSk7Ci0gICAgQVNTRVJU
KHN0YXRlLmluWG1wKCkgKyBzdGF0ZS5pblRleHRBcmVhKCkgKyBzdGF0ZS5pblRpdGxlKCkgKyBz
dGF0ZS5pblN0eWxlKCkgKyBzdGF0ZS5pblNjcmlwdCgpID09IDEgKTsKKyAgICBBU1NFUlQoc3Rh
dGUuaW5YbXAoKSArIHN0YXRlLmluVGV4dEFyZWEoKSArIHN0YXRlLmluVGl0bGUoKSArIHN0YXRl
LmluU3R5bGUoKSArIHN0YXRlLmluU2NyaXB0KCkgKyBzdGF0ZS5pbklGcmFtZSgpID09IDEgKTsK
ICAgICBpZiAoc3RhdGUuaW5TY3JpcHQoKSkKICAgICAgICAgc2NyaXB0U3RhcnRMaW5lbm8gPSBt
X2xpbmVOdW1iZXI7CiAKQEAgLTMzMiw2ICszMzMsOSBAQCBIVE1MVG9rZW5pemVyOjpTdGF0ZSBI
VE1MVG9rZW5pemVyOjpwYXJzCiAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChzdGF0ZS5pblht
cCgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGN1cnJUb2tlbi50YWdOYW1lID0geG1wVGFnLmxv
Y2FsTmFtZSgpOyAKICAgICAgICAgICAgICAgICAgICAgY3VyclRva2VuLmJlZ2luVGFnID0gZmFs
c2U7IAorICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoc3RhdGUuaW5JRnJhbWUoKSkgeworICAg
ICAgICAgICAgICAgICAgICBjdXJyVG9rZW4udGFnTmFtZSA9IGlmcmFtZVRhZy5sb2NhbE5hbWUo
KTsKKyAgICAgICAgICAgICAgICAgICAgY3VyclRva2VuLmJlZ2luVGFnID0gZmFsc2U7CiAgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIHByb2Nlc3NUb2tlbigpOwogICAgICAgICAg
ICAgICAgIHN0YXRlLnNldEluU3R5bGUoZmFsc2UpOwpAQCAtMzM5LDYgKzM0Myw3IEBAIEhUTUxU
b2tlbml6ZXI6OlN0YXRlIEhUTUxUb2tlbml6ZXI6OnBhcnMKICAgICAgICAgICAgICAgICBzdGF0
ZS5zZXRJblRleHRBcmVhKGZhbHNlKTsKICAgICAgICAgICAgICAgICBzdGF0ZS5zZXRJblRpdGxl
KGZhbHNlKTsKICAgICAgICAgICAgICAgICBzdGF0ZS5zZXRJblhtcChmYWxzZSk7CisgICAgICAg
ICAgICAgICAgc3RhdGUuc2V0SW5JRnJhbWUoZmFsc2UpOwogICAgICAgICAgICAgICAgIHRxdW90
ZSA9IE5vUXVvdGU7CiAgICAgICAgICAgICAgICAgc2NyaXB0Q29kZVNpemUgPSBzY3JpcHRDb2Rl
UmVzeW5jID0gMDsKICAgICAgICAgICAgIH0KQEAgLTM2MSw3ICszNjYsNyBAQCBIVE1MVG9rZW5p
emVyOjpTdGF0ZSBIVE1MVG9rZW5pemVyOjpwYXJzCiAgICAgICAgICAgICAgICAgdHF1b3RlID0g
Tm9RdW90ZTsKICAgICAgICAgfQogICAgICAgICBzdGF0ZS5zZXRFc2NhcGVkKCFzdGF0ZS5lc2Nh
cGVkKCkgJiYgY2ggPT0gJ1xcJyk7Ci0gICAgICAgIGlmICghc2NyaXB0Q29kZVJlc3luYyAmJiAo
c3RhdGUuaW5UZXh0QXJlYSgpIHx8IHN0YXRlLmluVGl0bGUoKSkgJiYgIXNyYy5lc2NhcGVkKCkg
JiYgY2ggPT0gJyYnKSB7CisgICAgICAgIGlmICghc2NyaXB0Q29kZVJlc3luYyAmJiAoc3RhdGUu
aW5UZXh0QXJlYSgpIHx8IHN0YXRlLmluVGl0bGUoKSB8fCBzdGF0ZS5pbklGcmFtZSgpKSAmJiAh
c3JjLmVzY2FwZWQoKSAmJiBjaCA9PSAnJicpIHsKICAgICAgICAgICAgIFVDaGFyKiBzY3JpcHRD
b2RlRGVzdCA9IHNjcmlwdENvZGUrc2NyaXB0Q29kZVNpemU7CiAgICAgICAgICAgICBzcmMuYWR2
YW5jZVBhc3ROb25OZXdsaW5lKCk7CiAgICAgICAgICAgICBzdGF0ZSA9IHBhcnNlRW50aXR5KHNy
Yywgc2NyaXB0Q29kZURlc3QsIHN0YXRlLCBtX2NCdWZmZXJQb3MsIHRydWUsIGZhbHNlKTsKQEAg
LTU3OCw3ICs1ODMsNyBAQCBIVE1MVG9rZW5pemVyOjpTdGF0ZSBIVE1MVG9rZW5pemVyOjpwYXJz
CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAoaGFuZGxlQnJva2VuQ29tbWVudHMgfHwg
ZW5kQ2hhcnNDb3VudCA+IDEpIHsKICAgICAgICAgICAgICAgICBzcmMuYWR2YW5jZVBhc3ROb25O
ZXdsaW5lKCk7Ci0gICAgICAgICAgICAgICAgaWYgKCEoc3RhdGUuaW5UaXRsZSgpIHx8IHN0YXRl
LmluU2NyaXB0KCkgfHwgc3RhdGUuaW5YbXAoKSB8fCBzdGF0ZS5pblRleHRBcmVhKCkgfHwgc3Rh
dGUuaW5TdHlsZSgpKSkgeworICAgICAgICAgICAgICAgIGlmICghKHN0YXRlLmluVGl0bGUoKSB8
fCBzdGF0ZS5pblNjcmlwdCgpIHx8IHN0YXRlLmluWG1wKCkgfHwgc3RhdGUuaW5UZXh0QXJlYSgp
IHx8IHN0YXRlLmluU3R5bGUoKSB8fCBzdGF0ZS5pbklGcmFtZSgpKSkgewogICAgICAgICAgICAg
ICAgICAgICBjaGVja1NjcmlwdEJ1ZmZlcigpOwogICAgICAgICAgICAgICAgICAgICBzY3JpcHRD
b2RlW3NjcmlwdENvZGVTaXplXSA9IDA7CiAgICAgICAgICAgICAgICAgICAgIHNjcmlwdENvZGVb
c2NyaXB0Q29kZVNpemUgKyAxXSA9IDA7CkBAIC0xMjg2LDYgKzEyOTEsMTMgQEAgSFRNTFRva2Vu
aXplcjo6U3RhdGUgSFRNTFRva2VuaXplcjo6cGFycwogICAgICAgICAgICAgICAgICAgICAgICAg
c3RhdGUuc2V0SW5YbXAodHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZSA9IHBh
cnNlU3BlY2lhbChzcmMsIHN0YXRlKTsKICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgICAgIH0gZWxzZSBpZiAodGFnTmFtZSA9PSBpZnJhbWVUYWcpIHsKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKGJlZ2luVGFnKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2hTdG9w
cGVyID0gaWZyYW1lRW5kOworICAgICAgICAgICAgICAgICAgICAgICAgc2VhcmNoU3RvcHBlckxl
biA9IDg7CisgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS5zZXRJbklGcmFtZSh0cnVlKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlID0gcGFyc2VTcGVjaWFsKHNyYywgc3RhdGUp
OworICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
fQogICAgICAgICAgICAgaWYgKHRhZ05hbWUgPT0gcGxhaW50ZXh0VGFnKQpJbmRleDogaHRtbC9I
VE1MVG9rZW5pemVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gaHRtbC9IVE1MVG9rZW5pemVyLmgJKHJldmlz
aW9uIDMwMTIzKQorKysgaHRtbC9IVE1MVG9rZW5pemVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTIx
Miw2ICsyMTIsOCBAQCBwcml2YXRlOgogICAgICAgICB2b2lkIHNldEluWG1wKGJvb2wgdikgeyBz
ZXRCaXQoSW5YbXAsIHYpOyB9CiAgICAgICAgIGJvb2wgaW5UaXRsZSgpIGNvbnN0IHsgcmV0dXJu
IHRlc3RCaXQoSW5UaXRsZSk7IH0KICAgICAgICAgdm9pZCBzZXRJblRpdGxlKGJvb2wgdikgeyBz
ZXRCaXQoSW5UaXRsZSwgdik7IH0KKyAgICAgICAgYm9vbCBpbklGcmFtZSgpIGNvbnN0IHsgcmV0
dXJuIHRlc3RCaXQoSW5JRnJhbWUpOyB9CisgICAgICAgIHZvaWQgc2V0SW5JRnJhbWUoYm9vbCB2
KSB7IHNldEJpdChJbklGcmFtZSwgdik7IH0KICAgICAgICAgYm9vbCBpblBsYWluVGV4dCgpIGNv
bnN0IHsgcmV0dXJuIHRlc3RCaXQoSW5QbGFpblRleHQpOyB9CiAgICAgICAgIHZvaWQgc2V0SW5Q
bGFpblRleHQoYm9vbCB2KSB7IHNldEJpdChJblBsYWluVGV4dCwgdik7IH0KICAgICAgICAgYm9v
bCBpblByb2Nlc3NpbmdJbnN0cnVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIHRlc3RCaXQoSW5Qcm9j
ZXNzaW5nSW5zdHJ1Y3Rpb24pOyB9CkBAIC0yMzcsMTEgKzIzOSwxMSBAQCBwcml2YXRlOgogICAg
ICAgICBib29sIGZvcmNlU3luY2hyb25vdXMoKSBjb25zdCB7IHJldHVybiB0ZXN0Qml0KEZvcmNl
U3luY2hyb25vdXMpOyB9CiAgICAgICAgIHZvaWQgc2V0Rm9yY2VTeW5jaHJvbm91cyhib29sIHYp
IHsgc2V0Qml0KEZvcmNlU3luY2hyb25vdXMsIHYpOyB9CiAKLSAgICAgICAgYm9vbCBpbkFueVNw
ZWNpYWwoKSBjb25zdCB7IHJldHVybiBtX2JpdHMgJiAoSW5TY3JpcHQgfCBJblN0eWxlIHwgSW5Y
bXAgfCBJblRleHRBcmVhIHwgSW5UaXRsZSk7IH0KKyAgICAgICAgYm9vbCBpbkFueVNwZWNpYWwo
KSBjb25zdCB7IHJldHVybiBtX2JpdHMgJiAoSW5TY3JpcHQgfCBJblN0eWxlIHwgSW5YbXAgfCBJ
blRleHRBcmVhIHwgSW5UaXRsZSB8IEluSUZyYW1lKTsgfQogICAgICAgICBib29sIGhhc1RhZ1N0
YXRlKCkgY29uc3QgeyByZXR1cm4gbV9iaXRzICYgVGFnTWFzazsgfQogICAgICAgICBib29sIGhh
c0VudGl0eVN0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9iaXRzICYgRW50aXR5TWFzazsgfQogCi0g
ICAgICAgIGJvb2wgbmVlZHNTcGVjaWFsV3JpdGVIYW5kbGluZygpIGNvbnN0IHsgcmV0dXJuIG1f
Yml0cyAmIChJblNjcmlwdCB8IEluU3R5bGUgfCBJblhtcCB8IEluVGV4dEFyZWEgfCBJblRpdGxl
IHwgVGFnTWFzayB8IEVudGl0eU1hc2sgfCBJblBsYWluVGV4dCB8IEluQ29tbWVudCB8IEluU2Vy
dmVyIHwgSW5Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24gfCBTdGFydFRhZyk7IH0KKyAgICAgICAgYm9v
bCBuZWVkc1NwZWNpYWxXcml0ZUhhbmRsaW5nKCkgY29uc3QgeyByZXR1cm4gbV9iaXRzICYgKElu
U2NyaXB0IHwgSW5TdHlsZSB8IEluWG1wIHwgSW5UZXh0QXJlYSB8IEluVGl0bGUgfCBJbklGcmFt
ZSB8IFRhZ01hc2sgfCBFbnRpdHlNYXNrIHwgSW5QbGFpblRleHQgfCBJbkNvbW1lbnQgfCBJblNl
cnZlciB8IEluUHJvY2Vzc2luZ0luc3RydWN0aW9uIHwgU3RhcnRUYWcpOyB9CiAKICAgICBwcml2
YXRlOgogICAgICAgICBzdGF0aWMgY29uc3QgaW50IEVudGl0eVNoaWZ0ID0gNDsKQEAgLTI2NCw3
ICsyNjYsOCBAQCBwcml2YXRlOgogICAgICAgICAgICAgRGlzY2FyZExGID0gMSA8PCAyMCwgLy8g
RklYTUU6IHNob3VsZCBjbGFyaWZ5IGRpZmZlcmVuY2UgYmV0d2VlbiBza2lwIGFuZCBkaXNjYXJk
CiAgICAgICAgICAgICBBbGxvd1lpZWxkID0gMSA8PCAyMSwKICAgICAgICAgICAgIExvYWRpbmdF
eHRTY3JpcHQgPSAxIDw8IDIyLAotICAgICAgICAgICAgRm9yY2VTeW5jaHJvbm91cyA9IDEgPDwg
MjMKKyAgICAgICAgICAgIEZvcmNlU3luY2hyb25vdXMgPSAxIDw8IDIzLAorICAgICAgICAgICAg
SW5JRnJhbWUgPSAxIDw8IDI0CiAgICAgICAgIH07CiAKICAgICAgICAgdm9pZCBzZXRCaXQoU3Rh
dGVCaXRzIGJpdCwgYm9vbCB2YWx1ZSkK
</data>
<flag name="review"
          id="8323"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>