<?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>43758</bug_id>
          
          <creation_ts>2010-08-09 16:53:20 -0700</creation_ts>
          <short_desc>HTML TreeBuilder hits ASSERT in fragment case with insertAdjacentHTML and colgroup</short_desc>
          <delta_ts>2010-08-11 20:13:42 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ian</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>262408</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-08-09 16:53:20 -0700</bug_when>
    <thetext>HTML TreeBuilder hits ASSERT in fragment case with insertAdjacentHTML and colgroup

ASSERTION FAILED: isEmpty()
(/Projects/WebKit/WebCore/html/HTMLTreeBuilder.cpp:299 WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::~ExternalCharacterTokenBuffer())

Test case:

&lt;div id=&quot;test&quot;&gt;&lt;/div&gt;
&lt;script&gt;
testZone = document.getElementById(&apos;test&apos;);
var colgroup = document.createElement(&quot;colgroup&quot;);
testZone.appendChild(colgroup);
colgroup.insertAdjacentHTML(&quot;beforeBegin&quot;, &quot;HTML&quot;);
&lt;/script&gt;


Not sure why yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>262415</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-08-09 17:00:36 -0700</bug_when>
    <thetext>OK, the bug is that HTMLElement::insertAdjacentHTML is passing the wrong contextElement.

It&apos;s passing the colgroup (this) instead of the div.  It&apos;s possible that insertAdjacentHTML(&quot;afterBegin&quot;, &quot;HTML&quot;) would hit this ASSERT too, but we need to fix the context element bug first.

This bug has been around for forever, since the xml parser was always passed the wrong context.  The design is wrong, because we can&apos;t create the DocumentFragment before we know where we&apos;re inserting it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>262436</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-08-09 17:54:04 -0700</bug_when>
    <thetext>Ok, I&apos;ve found and fixed one bug, but this still hits the ASSERT:

var colgroup = document.createElement(&quot;colgroup&quot;);
shouldBeUndefined(&quot;colgroup.insertAdjacentHTML(&apos;afterBegin&apos;, &apos;text&apos;)&quot;);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>262542</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-08-10 01:05:36 -0700</bug_when>
    <thetext>It appears the spec wants to drop character tokens on the floor:

http://www.whatwg.org/specs/web-apps/current-work/multipage/tokenization.html#parsing-main-incolgroup

Anything else
Act as if an end tag with the tag name &quot;colgroup&quot; had been seen, and then, if that token wasn&apos;t ignored, reprocess the current token.

The fake end tag token here can only be ignored in the fragment case.


We don&apos;t have any way to &quot;ignore&quot; character tokens currently.  We could make one.  But this may also be a spec bug.

The reduced test case to ASSERT is:

document.createElement(&quot;colgroup&quot;).innerHTML = &quot;foo&quot;;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263462</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-08-11 14:45:18 -0700</bug_when>
    <thetext>I&apos;d like to link to the spec bug you filed, but I can&apos;t seem to find it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263476</commentid>
    <comment_count>5</comment_count>
      <attachid>64167</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-08-11 15:14:08 -0700</bug_when>
    <thetext>Created attachment 64167
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263522</commentid>
    <comment_count>6</comment_count>
      <attachid>64167</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-08-11 17:04:19 -0700</bug_when>
    <thetext>Comment on attachment 64167
Patch

I have not filed a bug about the colgroup issue, no.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263531</commentid>
    <comment_count>7</comment_count>
      <attachid>64167</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-08-11 17:33:53 -0700</bug_when>
    <thetext>Comment on attachment 64167
Patch

We need to fix the createContextualFragment nonsense.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263578</commentid>
    <comment_count>8</comment_count>
      <attachid>64167</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-08-11 20:13:37 -0700</bug_when>
    <thetext>Comment on attachment 64167
Patch

Clearing flags on attachment: 64167

Committed r65213: &lt;http://trac.webkit.org/changeset/65213&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263579</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-08-11 20:13:42 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64167</attachid>
            <date>2010-08-11 15:14:08 -0700</date>
            <delta_ts>2010-08-11 20:13:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-43758-20100811151406.patch</filename>
            <type>text/plain</type>
            <size>7172</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0YmU5YzMyOGYxNDlhNjM2MWY3NmE4ODc2MzllNTU4N2E0MzRmNTM3Li41Zjg4MzE4
NWU0OTZhOGU1MDA5MDU2NjUzNzVjMDcxNjlmY2M0NGNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0yLDYgKzIsMTUgQEAK
IAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KIAorICAgICAgICBIVE1MIFRy
ZWVCdWlsZGVyIGhpdHMgQVNTRVJUIGluIGZyYWdtZW50IGNhc2Ugd2l0aCBpbnNlcnRBZGphY2Vu
dEhUTUwgYW5kIGNvbGdyb3VwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00Mzc1OAorCisgICAgICAgICogaHRtbDVsaWIvcnVubmVyLWV4cGVjdGVkLWh0
bWw1LnR4dDoKKworMjAxMC0wOC0xMSAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCiAgICAgICAgIENvbmRpdGlv
bmFsaXplIHdyb25nIGZyYWdtZW50IHBhcnNpbmcgY29kZSB0byBwYXNzIG1vcmUgSFRNTDVsaWIg
dGVzdHMKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQz
ODc3CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0bWw1bGliL3J1bm5lci1leHBlY3RlZC1o
dG1sNS50eHQgYi9MYXlvdXRUZXN0cy9odG1sNWxpYi9ydW5uZXItZXhwZWN0ZWQtaHRtbDUudHh0
CmluZGV4IGZkYmQ4ZGE4MTk1NjBjMTY0NTY1OGU2MDg4MGM2NjgwYzVmMTllMDUuLjJlYjAxYjRj
YmY4YWE3NjIzODRhYjU4MTBmMmYxOGY3OTlhMjVkY2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2h0bWw1bGliL3J1bm5lci1leHBlY3RlZC1odG1sNS50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHRt
bDVsaWIvcnVubmVyLWV4cGVjdGVkLWh0bWw1LnR4dApAQCAtMTYsMzUgKzE2LDEyIEBAIHJlc291
cmNlcy90ZXN0czIuZGF0OiBQQVNTCiAKIHJlc291cmNlcy90ZXN0czMuZGF0OiBQQVNTCiAKLXJl
c291cmNlcy90ZXN0czQuZGF0OgotNworcmVzb3VyY2VzL3Rlc3RzNC5kYXQ6IFBBU1MKIAotVGVz
dCA3IG9mIDcgaW4gcmVzb3VyY2VzL3Rlc3RzNC5kYXQgZmFpbGVkLiBJbnB1dDoKLTx0aXRsZT5z
ZXR0aW5nIGhlYWQncyBpbm5lckhUTUw8L3RpdGxlPgotR290OgotfCAKLUV4cGVjdGVkOgotfCA8
dGl0bGU+Ci18ICAgInNldHRpbmcgaGVhZCdzIGlubmVySFRNTCIKIHJlc291cmNlcy90ZXN0czUu
ZGF0OiBQQVNTCiAKLXJlc291cmNlcy90ZXN0czYuZGF0OgotMjcKLTMwCityZXNvdXJjZXMvdGVz
dHM2LmRhdDogUEFTUwogCi1UZXN0IDI3IG9mIDUxIGluIHJlc291cmNlcy90ZXN0czYuZGF0IGZh
aWxlZC4gSW5wdXQ6Ci1mb288Y29sPgotR290OgotfCAKLUV4cGVjdGVkOgotfCA8Y29sPgotCi1U
ZXN0IDMwIG9mIDUxIGluIHJlc291cmNlcy90ZXN0czYuZGF0IGZhaWxlZC4gSW5wdXQ6Ci08L2Zy
YW1lc2V0PjxmcmFtZT4KLUdvdDoKLXwgCi1FeHBlY3RlZDoKLXwgPGZyYW1lPgogcmVzb3VyY2Vz
L3Rlc3RzNy5kYXQ6CiAzMAogCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNv
cmUvQ2hhbmdlTG9nCmluZGV4IGM3MWZhZmJiNjllZWM5Y2Y1NDU0ODVhMjY4Y2M2YWU5ZDljNmQz
ODMuLjczNzkxZWRkMjFiYTJiZTc4ZWZjMjhhMGM1NzlhYzM5MjViNTQ3MjAgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0yLDYgKzIsMjkg
QEAKIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KIAorICAgICAgICBIVE1M
IFRyZWVCdWlsZGVyIGhpdHMgQVNTRVJUIGluIGZyYWdtZW50IGNhc2Ugd2l0aCBpbnNlcnRBZGph
Y2VudEhUTUwgYW5kIGNvbGdyb3VwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD00Mzc1OAorCisgICAgICAgIFRoaXMgcGF0Y2ggY29uZGl0aW9uYWxpemVz
IHNvbWUgTGVnYWN5SFRNTFRyZWVCdWlsZGVyLXNwZWNpZmljIGNvZGUgaW4KKyAgICAgICAgSFRN
TEVsZW1lbnQ6OmNyZWF0ZUNvbnRleHR1YWxGcmFnbWVudCB0aGF0IGludGVyZmVyZXMgd2l0aCB0
aGUgbmV3CisgICAgICAgIEhUTUxUcmVlQnVpbGRlci4gIERvaW5nIHRoYXQgZXhwb3NlcyB0aGUg
YWJvdmUgQVNTRVJULCB3aGljaCBJJ3ZlIGZpeGVkCisgICAgICAgIGluIHRoaXMgcGF0Y2ggdG9v
LiAgRml4aW5nIHRoYXQgQVNTRVJUIGludm9sdmVkIGEgc21hbGwgcmVmYWN0b3JpbmcgaW4KKyAg
ICAgICAgRXh0ZXJuYWxDaGFyYWN0ZXJUb2tlbkJ1ZmZlci4KKworICAgICAgICAqIGh0bWwvSFRN
TEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEVsZW1lbnQ6OmNyZWF0ZUNvbnRl
eHR1YWxGcmFnbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MVHJlZUJ1aWxkZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTFRyZWVCdWlsZGVyOjpFeHRlcm5hbENoYXJhY3RlclRva2VuQnVm
ZmVyOjpza2lwTGVhZGluZ1doaXRlc3BhY2UpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRyZWVC
dWlsZGVyOjpFeHRlcm5hbENoYXJhY3RlclRva2VuQnVmZmVyOjp0YWtlTGVhZGluZ1doaXRlc3Bh
Y2UpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRyZWVCdWlsZGVyOjpFeHRlcm5hbENoYXJhY3Rl
clRva2VuQnVmZmVyOjp0YWtlTGVhZGluZ05vbldoaXRlc3BhY2UpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTFRyZWVCdWlsZGVyOjpFeHRlcm5hbENoYXJhY3RlclRva2VuQnVmZmVyOjpza2lwTGVh
ZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJlZUJ1aWxkZXI6OkV4dGVybmFsQ2hhcmFj
dGVyVG9rZW5CdWZmZXI6OnRha2VMZWFkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmVl
QnVpbGRlcjo6cHJvY2Vzc0NoYXJhY3RlckJ1ZmZlcik6CisKKzIwMTAtMDgtMTEgIEFkYW0gQmFy
dGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKwogICAgICAgICBDb25kaXRpb25hbGl6ZSB3cm9uZyBmcmFnbWVudCBwYXJzaW5nIGNv
ZGUgdG8gcGFzcyBtb3JlIEhUTUw1bGliIHRlc3RzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD00Mzg3NwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwv
SFRNTEVsZW1lbnQuY3BwIGIvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAppbmRleCAzYzMz
NTNjNGRlZTU2ZGVmYmE5ODg4YWYwMGIzMGJhOGNmMDE5MmNiLi5iN2Q0NWRlY2FlMTBiYWI1ZDRh
YjdjMGZlYjMyNGZjOGU4YTdmNzZkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1l
bnQuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKQEAgLTI3NSwxNiArMjc1
LDE4IEBAIFN0cmluZyBIVE1MRWxlbWVudDo6b3V0ZXJIVE1MKCkgY29uc3QKICAgICByZXR1cm4g
Y3JlYXRlTWFya3VwKHRoaXMpOwogfQogCi0vLyBGSVhNRTogVGhpcyBtZXRob2QgaXMgdW5lY2Vz
c2FyeSB3aXRoIHRoZSBuZXcgSFRNTERvY3VtZW50UGFyc2VyLgorLy8gRklYTUU6IFRoaXMgbWV0
aG9kIGlzIHVubmVjZXNzYXJ5IHdpdGggdGhlIG5ldyBIVE1MRG9jdW1lbnRQYXJzZXIuCiBQYXNz
UmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+IEhUTUxFbGVtZW50OjpjcmVhdGVDb250ZXh0dWFsRnJh
Z21lbnQoY29uc3QgU3RyaW5nJiBtYXJrdXAsIEZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lvbiBz
Y3JpcHRpbmdQZXJtaXNzaW9uKQogewotICAgIC8vIFRoZSBmb2xsb3dpbmcgaXMgaW4gYWNjb3Jk
YW5jZSB3aXRoIHRoZSBkZWZpbml0aW9uIGFzIHVzZWQgYnkgSUUuCi0gICAgaWYgKGVuZFRhZ1Jl
cXVpcmVtZW50KCkgPT0gVGFnU3RhdHVzRm9yYmlkZGVuKQotICAgICAgICByZXR1cm4gMDsKKyAg
ICBpZiAoIWRvY3VtZW50KCktPnNldHRpbmdzKCkgfHwgIWRvY3VtZW50KCktPnNldHRpbmdzKCkt
Pmh0bWw1VHJlZUJ1aWxkZXJFbmFibGVkKCkpIHsKKyAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBp
cyBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIGRlZmluaXRpb24gYXMgdXNlZCBieSBJRS4KKyAgICAg
ICAgaWYgKGVuZFRhZ1JlcXVpcmVtZW50KCkgPT0gVGFnU3RhdHVzRm9yYmlkZGVuKQorICAgICAg
ICAgICAgcmV0dXJuIDA7CiAKLSAgICBpZiAoaGFzTG9jYWxOYW1lKGNvbFRhZykgfHwgaGFzTG9j
YWxOYW1lKGNvbGdyb3VwVGFnKSB8fCBoYXNMb2NhbE5hbWUoZnJhbWVzZXRUYWcpIHx8Ci0gICAg
ICAgIGhhc0xvY2FsTmFtZShoZWFkVGFnKSB8fCBoYXNMb2NhbE5hbWUoc3R5bGVUYWcpIHx8IGhh
c0xvY2FsTmFtZSh0aXRsZVRhZykpCi0gICAgICAgIHJldHVybiAwOworICAgICAgICBpZiAoaGFz
TG9jYWxOYW1lKGNvbFRhZykgfHwgaGFzTG9jYWxOYW1lKGNvbGdyb3VwVGFnKSB8fCBoYXNMb2Nh
bE5hbWUoZnJhbWVzZXRUYWcpCisgICAgICAgICAgICB8fCBoYXNMb2NhbE5hbWUoaGVhZFRhZykg
fHwgaGFzTG9jYWxOYW1lKHN0eWxlVGFnKSB8fCBoYXNMb2NhbE5hbWUodGl0bGVUYWcpKQorICAg
ICAgICAgICAgcmV0dXJuIDA7CisgICAgfQogCiAgICAgcmV0dXJuIEVsZW1lbnQ6OmNyZWF0ZUNv
bnRleHR1YWxGcmFnbWVudChtYXJrdXAsIHNjcmlwdGluZ1Blcm1pc3Npb24pOwogfQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9odG1sL0hUTUxUcmVlQnVpbGRlci5jcHAgYi9XZWJDb3JlL2h0bWwvSFRN
TFRyZWVCdWlsZGVyLmNwcAppbmRleCBhYjdlNmJmZmRlNTcyNjUwYmJlNDJkOGJiYmVkMzc5Nzhm
YzQ2YzA5Li4xZDIzNTM5ZGFkN2I3MzFhY2MxNjZhMjY0NDY5MWJmODRhZTU3ZDcxIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvSFRNTFRyZWVCdWlsZGVyLmNwcAorKysgYi9XZWJDb3JlL2h0bWwv
SFRNTFRyZWVCdWlsZGVyLmNwcApAQCAtNjYsNiArNjYsMTEgQEAgaW5saW5lIGJvb2wgaXNUcmVl
QnVpbGRlcldoaXRlcGFjZShVQ2hhciBjKQogICAgIHJldHVybiBjID09ICdcdCcgfHwgYyA9PSAn
XHgwQScgfHwgYyA9PSAnXHgwQycgfHwgYyA9PSAnXHgwRCcgfHwgYyA9PSAnICc7CiB9CiAKK2lu
bGluZSBib29sIGlzTm90VHJlZUJ1aWxkZXJXaGl0ZXBhY2UoVUNoYXIgYykKK3sKKyAgICByZXR1
cm4gIWlzVHJlZUJ1aWxkZXJXaGl0ZXBhY2UoYyk7Cit9CisKIGlubGluZSBib29sIGlzVHJlZUJ1
aWxkZXJXaGl0ZXBhY2VPclJlcGxhY2VtZW50Q2hhcmFjdGVyKFVDaGFyIGMpCiB7CiAgICAgcmV0
dXJuIGlzVHJlZUJ1aWxkZXJXaGl0ZXBhY2UoYykgfHwgYyA9PSAweEZGRkQ7CkBAIC0zMDIsMjEg
KzMwNywxNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNraXBMZWFkaW5nV2hpdGVzcGFjZSgpCiAg
ICAgewotICAgICAgICBBU1NFUlQoIWlzRW1wdHkoKSk7Ci0gICAgICAgIHdoaWxlIChpc1RyZWVC
dWlsZGVyV2hpdGVwYWNlKCptX2N1cnJlbnQpKSB7Ci0gICAgICAgICAgICBpZiAoKyttX2N1cnJl
bnQgPT0gbV9lbmQpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9CisgICAgICAg
IHNraXBMZWFkaW5nPGlzVHJlZUJ1aWxkZXJXaGl0ZXBhY2U+KCk7CiAgICAgfQogCiAgICAgU3Ry
aW5nIHRha2VMZWFkaW5nV2hpdGVzcGFjZSgpCiAgICAgewotICAgICAgICBBU1NFUlQoIWlzRW1w
dHkoKSk7Ci0gICAgICAgIGNvbnN0IFVDaGFyKiBzdGFydCA9IG1fY3VycmVudDsKLSAgICAgICAg
c2tpcExlYWRpbmdXaGl0ZXNwYWNlKCk7Ci0gICAgICAgIGlmIChzdGFydCA9PSBtX2N1cnJlbnQp
Ci0gICAgICAgICAgICByZXR1cm4gU3RyaW5nKCk7Ci0gICAgICAgIHJldHVybiBTdHJpbmcoc3Rh
cnQsIG1fY3VycmVudCAtIHN0YXJ0KTsKKyAgICAgICAgcmV0dXJuIHRha2VMZWFkaW5nPGlzVHJl
ZUJ1aWxkZXJXaGl0ZXBhY2U+KCk7CisgICAgfQorCisgICAgU3RyaW5nIHRha2VMZWFkaW5nTm9u
V2hpdGVzcGFjZSgpCisgICAgeworICAgICAgICByZXR1cm4gdGFrZUxlYWRpbmc8aXNOb3RUcmVl
QnVpbGRlcldoaXRlcGFjZT4oKTsKICAgICB9CiAKICAgICBTdHJpbmcgdGFrZVJlbWFpbmluZygp
CkBAIC0zNTEsNiArMzUyLDI3IEBAIHB1YmxpYzoKICAgICB9CiAKIHByaXZhdGU6CisgICAgdGVt
cGxhdGU8Ym9vbCBjaGFyYWN0ZXJQcmVkaWNhdGUoVUNoYXIpPgorICAgIHZvaWQgc2tpcExlYWRp
bmcoKQorICAgIHsKKyAgICAgICAgQVNTRVJUKCFpc0VtcHR5KCkpOworICAgICAgICB3aGlsZSAo
Y2hhcmFjdGVyUHJlZGljYXRlKCptX2N1cnJlbnQpKSB7CisgICAgICAgICAgICBpZiAoKyttX2N1
cnJlbnQgPT0gbV9lbmQpCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAg
fQorCisgICAgdGVtcGxhdGU8Ym9vbCBjaGFyYWN0ZXJQcmVkaWNhdGUoVUNoYXIpPgorICAgIFN0
cmluZyB0YWtlTGVhZGluZygpCisgICAgeworICAgICAgICBBU1NFUlQoIWlzRW1wdHkoKSk7Cisg
ICAgICAgIGNvbnN0IFVDaGFyKiBzdGFydCA9IG1fY3VycmVudDsKKyAgICAgICAgc2tpcExlYWRp
bmc8Y2hhcmFjdGVyUHJlZGljYXRlPigpOworICAgICAgICBpZiAoc3RhcnQgPT0gbV9jdXJyZW50
KQorICAgICAgICAgICAgcmV0dXJuIFN0cmluZygpOworICAgICAgICByZXR1cm4gU3RyaW5nKHN0
YXJ0LCBtX2N1cnJlbnQgLSBzdGFydCk7CisgICAgfQorCiAgICAgY29uc3QgVUNoYXIqIG1fY3Vy
cmVudDsKICAgICBjb25zdCBVQ2hhciogbV9lbmQ7CiB9OwpAQCAtMjYyOSw3ICsyNjUxLDEwIEBA
IFJlcHJvY2Vzc0J1ZmZlcjoKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgaWYgKCFwcm9j
ZXNzQ29sZ3JvdXBFbmRUYWdGb3JJbkNvbHVtbkdyb3VwKCkpIHsKICAgICAgICAgICAgIEFTU0VS
VChpc1BhcnNpbmdGcmFnbWVudCgpKTsKLSAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAg
IC8vIFRoZSBzcGVjIHRlbGxzIHVzIHRvIGRyb3AgdGhlc2UgY2hhcmFjdGVycyBvbiB0aGUgZmxv
b3IuCisgICAgICAgICAgICBidWZmZXIudGFrZUxlYWRpbmdOb25XaGl0ZXNwYWNlKCk7CisgICAg
ICAgICAgICBpZiAoYnVmZmVyLmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgIH0KICAgICAgICAgZ290byBSZXByb2Nlc3NCdWZmZXI7CiAgICAgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>