<?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>6520</bug_id>
          
          <creation_ts>2006-01-12 20:39:05 -0800</creation_ts>
          <short_desc>Add support for insertAdjacentElement</short_desc>
          <delta_ts>2006-03-27 17:07:02 -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>DOM</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</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="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>a</cc>
    
    <cc>andersca</cc>
    
    <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>28338</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2006-01-12 20:39:05 -0800</bug_when>
    <thetext>http://msdn.microsoft.com/workshop/author/dhtml/reference/methods/insertadjacentelement.asp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>28339</commentid>
    <comment_count>1</comment_count>
      <attachid>5638</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2006-01-12 20:40:26 -0800</bug_when>
    <thetext>Created attachment 5638
Darin&apos;s rough cut patch

&quot;A rough first cut of the method only, not the JavaScript binding.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>28363</commentid>
    <comment_count>2</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2006-01-13 08:32:57 -0800</bug_when>
    <thetext>I did some investigation on how insertAdjacentElement works in WinIE:

* This function only exists on elements, so it should be moved to ElementImpl
* Passing a non-element object as newChild throws an E_INVALIDARG COM exception
* If the element has no parent and where is &quot;beforeBegin&quot; or &quot;afterEnd&quot;, a document fragment is created 
and the elements appended in the correct order. This document fragment isn&apos;t returned anywhere
* Passing a bogus string as where also throws an E_INVALIDARG exception.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>35563</commentid>
    <comment_count>3</comment_count>
    <who name="Alexander Kellett">a</who>
    <bug_when>2006-03-08 14:08:35 -0800</bug_when>
    <thetext>does this need to be bound to HTMLElement or DOMElement?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>35640</commentid>
    <comment_count>4</comment_count>
      <attachid>6960</attachid>
    <who name="Alexander Kellett">a</who>
    <bug_when>2006-03-09 11:23:01 -0800</bug_when>
    <thetext>Created attachment 6960
simple testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>35641</commentid>
    <comment_count>5</comment_count>
      <attachid>6961</attachid>
    <who name="Alexander Kellett">a</who>
    <bug_when>2006-03-09 11:37:06 -0800</bug_when>
    <thetext>Created attachment 6961
patch taking into account move to Element, and implementing bindings, no exceptions thrown yet</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>35913</commentid>
    <comment_count>6</comment_count>
    <who name="Alexander Kellett">a</who>
    <bug_when>2006-03-11 13:41:57 -0800</bug_when>
    <thetext>andersca, not sure i understand your 3rd point? there is a side effect? does dom tree walking after insertion result in the added element having been inserted into the fragment?

what would be the equiv of a &quot;E_INVALIDARG COM exception&quot; for webkit?

can&apos;t really go any further at this point as i don&apos;t have ie.
going to mark for review and hope for some feedback.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>35958</commentid>
    <comment_count>7</comment_count>
      <attachid>6961</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-03-11 22:10:10 -0800</bug_when>
    <thetext>Comment on attachment 6961
patch taking into account move to Element, and implementing bindings, no exceptions thrown yet

This should be done with an new style IDL-file-based binding, not an old style hand-written binding, because it has no special requirements. So it should be added to Element.idl and kjs_dom.cpp and kjs_dom.h should be left untouched.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>35967</commentid>
    <comment_count>8</comment_count>
    <who name="Alexander Kellett">a</who>
    <bug_when>2006-03-12 02:21:58 -0800</bug_when>
    <thetext>andersca had already said not to do so.. tho i forget the reasoning.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>36175</commentid>
    <comment_count>9</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-03-13 20:49:28 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; andersca had already said not to do so.. tho i forget the reasoning.

Anders, why?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>36183</commentid>
    <comment_count>10</comment_count>
    <who name="Alexander Kellett">a</who>
    <bug_when>2006-03-13 21:50:24 -0800</bug_when>
    <thetext>spoke to anders since my last comment and realized that his comment was in response to something else :P

this works just fine -

+        // IE only extension
+        Node insertAdjacentElement(in DOMString position, 
+                                   in Node newAttr)
+            raises(DOMException);
+

do i need to fill out the exception throwing before committing (after another review)
or is this enough for the moment?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>36307</commentid>
    <comment_count>11</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-03-14 10:56:02 -0800</bug_when>
    <thetext>I&apos;d like to see the test cases and exceptions in before we land this. Shouldn&apos;t be too difficult to research how it works and make a nice thorough case. I don&apos;t want to have to revisit this later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>36312</commentid>
    <comment_count>12</comment_count>
    <who name="Alexander Kellett">a</who>
    <bug_when>2006-03-14 12:20:46 -0800</bug_when>
    <thetext>still not sure what andersca&apos;s reference to &quot;E_INVALIDARG&quot; implies,
is this just a case of adding that to the DOMException class?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>36313</commentid>
    <comment_count>13</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2006-03-14 12:55:32 -0800</bug_when>
    <thetext>Since the JS wrappers in WinIE wrap COM objects, there are some native COM exceptions that are being used in WinIE, for example the E_INVALIDARG exception.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>36940</commentid>
    <comment_count>14</comment_count>
      <attachid>7175</attachid>
    <who name="Alexander Kellett">a</who>
    <bug_when>2006-03-19 09:57:40 -0800</bug_when>
    <thetext>Created attachment 7175
latest testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>36945</commentid>
    <comment_count>15</comment_count>
      <attachid>7176</attachid>
    <who name="Alexander Kellett">a</who>
    <bug_when>2006-03-19 10:51:11 -0800</bug_when>
    <thetext>Created attachment 7176
latest testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37625</commentid>
    <comment_count>16</comment_count>
      <attachid>7320</attachid>
    <who name="Alexander Kellett">a</who>
    <bug_when>2006-03-26 21:06:18 -0800</bug_when>
    <thetext>Created attachment 7320
testcases</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37626</commentid>
    <comment_count>17</comment_count>
      <attachid>7321</attachid>
    <who name="Alexander Kellett">a</who>
    <bug_when>2006-03-26 21:06:54 -0800</bug_when>
    <thetext>Created attachment 7321
patch taking into account move to Element, and implementing bindings, no exceptions thrown yet</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37629</commentid>
    <comment_count>18</comment_count>
      <attachid>7321</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-03-26 22:46:45 -0800</bug_when>
    <thetext>Comment on attachment 7321
patch taking into account move to Element, and implementing bindings, no exceptions thrown yet

Looks fine. r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37708</commentid>
    <comment_count>19</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-03-27 17:07:02 -0800</bug_when>
    <thetext>Lypie commited this.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>5638</attachid>
            <date>2006-01-12 20:40:26 -0800</date>
            <delta_ts>2006-03-09 11:37:06 -0800</delta_ts>
            <desc>Darin&apos;s rough cut patch</desc>
            <filename>InsertAdjacentElementPatch.txt</filename>
            <type>text/plain</type>
            <size>2245</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IGtodG1sL3htbC9kb21fbm9kZWltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9j
dnMvcm9vdC9XZWJDb3JlL2todG1sL3htbC9kb21fbm9kZWltcGwuY3BwLHYKcmV0cmlldmluZyBy
ZXZpc2lvbiAxLjIyNQpkaWZmIC1wIC11IC1yMS4yMjUga2h0bWwveG1sL2RvbV9ub2RlaW1wbC5j
cHAKLS0tIGtodG1sL3htbC9kb21fbm9kZWltcGwuY3BwCTE5IERlYyAyMDA1IDIwOjQxOjQ3IC0w
MDAwCTEuMjI1CisrKyBraHRtbC94bWwvZG9tX25vZGVpbXBsLmNwcAkyMSBEZWMgMjAwNSAyMDox
NzozMyAtMDAwMApAQCAtMTk1Niw2ICsxOTU2LDMxIEBAIEVsZW1lbnRJbXBsICpOb2RlSW1wbDo6
Z2V0QW5jZXN0b3JFbGVtZW4KICAgICByZXR1cm4gMDsKIH0KIAorTm9kZUltcGwqIE5vZGVJbXBs
OjppbnNlcnRBZGphY2VudEVsZW1lbnQoY29uc3QgRE9NU3RyaW5nJiB3aGVyZSwgTm9kZUltcGwq
IG5ld0NoaWxkLCBpbnQmIGV4Y2VwdGlvbikKK3sKKyAgICBpZiAoIW5ld0NoaWxkKSB7CisgICAg
ICAgIC8vIEZJWE1FOiBXaGF0IGRvZXMgSUUgZG8gaW4gdGhpcyBjYXNlPyBFeGNlcHRpb24/Cisg
ICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIGlmICghc3RyY2FzZWNtcCh3aGVyZSwgImJl
Zm9yZUJlZ2luIikpIHsKKyAgICAgICAgaWYgKE5vZGVJbXBsKiBwID0gcGFyZW50KCkpCisgICAg
ICAgICAgICByZXR1cm4gcC0+aW5zZXJ0QmVmb3JlKG5ld0NoaWxkLCB0aGlzLCBleGNlcHRpb24p
OworICAgICAgICAvLyBGSVhNRTogV2hhdCBkb2VzIElFIGRvIGluIHRoaXMgY2FzZT8gRXhjZXB0
aW9uPworICAgIH0gZWxzZSBpZiAoIXN0cmNhc2VjbXAod2hlcmUsICJhZnRlckJlZ2luIikpIHsK
KyAgICAgICAgcmV0dXJuIGluc2VydEJlZm9yZShuZXdDaGlsZCwgZmlyc3RDaGlsZCgpLCBleGNl
cHRpb24pOworICAgIH0gZWxzZSBpZiAoIXN0cmNhc2VjbXAod2hlcmUsICJiZWZvcmVFbmQiKSkg
eworICAgICAgICByZXR1cm4gYXBwZW5kQ2hpbGQobmV3Q2hpbGQsIGV4Y2VwdGlvbik7CisgICAg
fSBlbHNlIGlmICghc3RyY2FzZWNtcCh3aGVyZSwgImFmdGVyRW5kIikpIHsKKyAgICAgICAgaWYg
KE5vZGVJbXBsKiBwID0gcGFyZW50KCkpCisgICAgICAgICAgICByZXR1cm4gcC0+aW5zZXJ0QmVm
b3JlKG5ld0NoaWxkLCBuZXh0U2libGluZygpLCBleGNlcHRpb24pOworICAgICAgICAvLyBGSVhN
RTogV2hhdCBkb2VzIElFIGRvIGluIHRoaXMgY2FzZT8gRXhjZXB0aW9uPworICAgIH0gZWxzZSB7
CisgICAgICAgIC8vIEZJWE1FOiBXaGF0IGRvZXMgSUUgZG8gaW4gdGhpcyBjYXNlPyBFeGNlcHRp
b24/CisgICAgfQorICAgIHJldHVybiAwOworfQorCiAjaWZuZGVmIE5ERUJVRwogCiBzdGF0aWMg
dm9pZCBhcHBlbmRBdHRyaWJ1dGVEZXNjKGNvbnN0IE5vZGVJbXBsICpub2RlLCBRU3RyaW5nICZz
dHJpbmcsIGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIFFTdHJpbmcgYXR0ckRlc2MpCkluZGV4
OiBraHRtbC94bWwvZG9tX25vZGVpbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290
L1dlYkNvcmUva2h0bWwveG1sL2RvbV9ub2RlaW1wbC5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAx
LjEyMApkaWZmIC1wIC11IC1yMS4xMjAga2h0bWwveG1sL2RvbV9ub2RlaW1wbC5oCi0tLSBraHRt
bC94bWwvZG9tX25vZGVpbXBsLmgJMTggRGVjIDIwMDUgMjM6NDA6MTMgLTAwMDAJMS4xMjAKKysr
IGtodG1sL3htbC9kb21fbm9kZWltcGwuaAkyMSBEZWMgMjAwNSAyMDoxNzozMyAtMDAwMApAQCAt
MTA0LDYgKzEwNCw4IEBAIHB1YmxpYzoKICAgICBET01TdHJpbmcgbG9va3VwUHJlZml4KGNvbnN0
IERPTVN0cmluZyAmbmFtZXNwYWNlVVJJKSBjb25zdDsKICAgICBET01TdHJpbmcgbG9va3VwTmFt
ZXNwYWNlVVJJKGNvbnN0IERPTVN0cmluZyAmcHJlZml4KSBjb25zdDsKICAgICAKKyAgICBOb2Rl
SW1wbCogaW5zZXJ0QWRqYWNlbnRFbGVtZW50KGNvbnN0IERPTVN0cmluZyYgd2hlcmUsIE5vZGVJ
bXBsKiwgaW50JiBleGNlcHRpb24pOworICAgIAogICAgIERPTVN0cmluZyB0ZXh0Q29udGVudCgp
IGNvbnN0OwogICAgIHZvaWQgc2V0VGV4dENvbnRlbnQoY29uc3QgRE9NU3RyaW5nICZ0ZXh0LCBp
bnQgJmV4Y2VwdGlvbik7CiAgICAgCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>6960</attachid>
            <date>2006-03-09 11:23:01 -0800</date>
            <delta_ts>2006-03-19 09:57:40 -0800</delta_ts>
            <desc>simple testcase</desc>
            <filename>test.html</filename>
            <type>text/html</type>
            <size>770</size>
            <attacher name="Alexander Kellett">a</attacher>
            
              <data encoding="base64">PGJvZHk+CiAgIDxzcGFuIGlkPSJjb250YWluZXIiIHN0eWxlPSJjb2xvcjogZ3JlZW4iPgogICA8
L3NwYW4+CiAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IG5vbmUiPgogICAgICA8c3BhbiBpZD0iMSI+
CiAgICAgICAgIDEgKGJsYWNrKQogICAgICA8L3NwYW4+CiAgICAgIDxzcGFuIGlkPSIyIj4KICAg
ICAgICAgMiAoZ3JlZW4pCiAgICAgIDwvc3Bhbj4KICAgICAgPHNwYW4gaWQ9IjMiPgogICAgICAg
ICAzIChncmVlbikKICAgICAgPC9zcGFuPgogICAgICA8c3BhbiBpZD0iNCI+CiAgICAgICAgIDQg
KGJsYWNrKQogICAgICA8L3NwYW4+CiAgIDwvZGl2Pgo8L2JvZHk+CjxzY3JpcHQ+CiAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKS5pbnNlcnRBZGphY2VudEVsZW1lbnQoImJl
Zm9yZUJlZ2luIiwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIjEiKSk7CiAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKS5pbnNlcnRBZGphY2VudEVsZW1lbnQoImFmdGVyQmVn
aW4iLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiMiIpKTsKICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLmluc2VydEFkamFjZW50RWxlbWVudCgiYmVmb3JlRW5kIiwgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoIjMiKSk7CiAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKS5pbnNlcnRBZGphY2VudEVsZW1lbnQoImFmdGVyRW5kIiwgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoIjQiKSk7Cjwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>6961</attachid>
            <date>2006-03-09 11:37:06 -0800</date>
            <delta_ts>2006-03-26 21:06:54 -0800</delta_ts>
            <desc>patch taking into account move to Element, and implementing bindings, no exceptions thrown yet</desc>
            <filename>6520.patch</filename>
            <type>text/plain</type>
            <size>3792</size>
            <attacher name="Alexander Kellett">a</attacher>
            
              <data encoding="base64">SW5kZXg6IGtodG1sL2VjbWEva2pzX2RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0ga2h0bWwvZWNtYS9r
anNfZG9tLmNwcAkocmV2aXNpb24gMTMxMjApCisrKyBraHRtbC9lY21hL2tqc19kb20uY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xMDUxLDYgKzEwNTEsNyBAQCBKU1ZhbHVlICpET01Eb2N1bWVudFBy
b3RvRnVuYzo6Y2FsbEFzRnVuCiBAYmVnaW4gRE9NRWxlbWVudFByb3RvVGFibGUgMTcKICAgc2Ny
b2xsSW50b1ZpZXcgICAgICAgIERPTUVsZW1lbnQ6OlNjcm9sbEludG9WaWV3ICAgICAgRG9udERl
bGV0ZXxGdW5jdGlvbiAxCiAgIHNjcm9sbEludG9WaWV3SWZOZWVkZWQgICAgICAgIERPTUVsZW1l
bnQ6OlNjcm9sbEludG9WaWV3SWZOZWVkZWQgICAgICBEb250RGVsZXRlfEZ1bmN0aW9uIDEKKyAg
aW5zZXJ0QWRqYWNlbnRFbGVtZW50ICAgICAgICBET01FbGVtZW50OjpJbnNlcnRBZGphY2VudEVs
ZW1lbnQgICAgICBEb250RGVsZXRlfEZ1bmN0aW9uIDEKIAogIyBleHRlbnNpb24gZm9yIFNhZmFy
aSBSU1MKICAgc2Nyb2xsQnlMaW5lcyAgICAgICAgIERPTUVsZW1lbnQ6OlNjcm9sbEJ5TGluZXMg
ICAgICAgRG9udERlbGV0ZXxGdW5jdGlvbiAxCkBAIC0xMTM5LDYgKzExNDAsOSBAQCBKU1ZhbHVl
ICpET01FbGVtZW50UHJvdG9GdW5jOjpjYWxsQXNGdW5jCiAgIEVsZW1lbnRJbXBsICZlbGVtZW50
ID0gc3RhdGljX2Nhc3Q8RWxlbWVudEltcGwgJj4obm9kZSk7CiAKICAgc3dpdGNoKGlkKSB7Cisg
ICAgICBjYXNlIERPTUVsZW1lbnQ6Okluc2VydEFkamFjZW50RWxlbWVudDoKKyAgICAgICAgRWxl
bWVudEltcGwqIGVsdCA9IGVsZW1lbnQuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KGFyZ3NbMF0tPnRv
U3RyaW5nKGV4ZWMpLmRvbVN0cmluZygpLCB0b0VsZW1lbnQoYXJnc1sxXSksIGV4Y2VwdGlvbik7
CisgICAgICAgIHJldHVybiBlbHQgPyBnZXRET01Ob2RlKGV4ZWMsIGVsdCkgOiBqc1VuZGVmaW5l
ZCgpOwogICAgICAgY2FzZSBET01FbGVtZW50OjpTY3JvbGxJbnRvVmlldzogCiAgICAgICAgIGVs
ZW1lbnQuc2Nyb2xsSW50b1ZpZXcoYXJnc1swXS0+aXNVbmRlZmluZWRPck51bGwoKSB8fCBhcmdz
WzBdLT50b0Jvb2xlYW4oZXhlYykpOwogICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKSW5k
ZXg6IGtodG1sL2VjbWEva2pzX2RvbS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGtodG1sL2VjbWEva2pzX2Rv
bS5oCShyZXZpc2lvbiAxMzEyMCkKKysrIGtodG1sL2VjbWEva2pzX2RvbS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xNTUsNyArMTU1LDcgQEAgbmFtZXNwYWNlIEtKUyB7CiAgICAgLy8gbm8gcHV0IC0g
YWxsIHJlYWQtb25seQogICAgIHZpcnR1YWwgY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8oKSBj
b25zdCB7IHJldHVybiAmaW5mbzsgfQogICAgIHN0YXRpYyBjb25zdCBDbGFzc0luZm8gaW5mbzsK
LSAgICBlbnVtIHsgVGFnTmFtZSwgU2Nyb2xsQnlMaW5lcywgU2Nyb2xsQnlQYWdlcywgU2Nyb2xs
SW50b1ZpZXcgfTsKKyAgICBlbnVtIHsgVGFnTmFtZSwgU2Nyb2xsQnlMaW5lcywgU2Nyb2xsQnlQ
YWdlcywgU2Nyb2xsSW50b1ZpZXcsIEluc2VydEFkamFjZW50RWxlbWVudCB9OwogICBwcm90ZWN0
ZWQ6CiAgICAgLy8gQ29uc3RydWN0b3IgZm9yIGluaGVyaXRlZCBjbGFzc2VzOyBkb2Vzbid0IHNl
dCB1cCBhIHByb3RvdHlwZS4KICAgICBET01FbGVtZW50KERPTTo6RWxlbWVudEltcGwgKmUpOwpJ
bmRleDogZG9tL2RvbV9lbGVtZW50aW1wbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGRvbS9kb21fZWxlbWVu
dGltcGwuaAkocmV2aXNpb24gMTMxMjApCisrKyBkb20vZG9tX2VsZW1lbnRpbXBsLmgJKHdvcmtp
bmcgY29weSkKQEAgLTI1OSw2ICsyNTksOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGZv
cm1hdEZvckRlYnVnZ2VyKGNoYXIgKmJ1ZmZlciwgdW5zaWduZWQgbGVuZ3RoKSBjb25zdDsKICNl
bmRpZgogCisgICAgRWxlbWVudEltcGwqIGluc2VydEFkamFjZW50RWxlbWVudChjb25zdCBET01T
dHJpbmcmIHdoZXJlLCBFbGVtZW50SW1wbCogbmV3Q2hpbGQsIGludCYgZXhjZXB0aW9uKTsKKwog
cHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBjcmVhdGVBdHRyaWJ1dGVNYXAoKSBjb25zdDsK
ICAgICBET01TdHJpbmcgb3BlblRhZ1N0YXJ0VG9TdHJpbmcoKSBjb25zdDsKSW5kZXg6IGRvbS9k
b21fZWxlbWVudGltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGRvbS9kb21fZWxlbWVudGltcGwuY3Bw
CShyZXZpc2lvbiAxMzEyMCkKKysrIGRvbS9kb21fZWxlbWVudGltcGwuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC00ODcsNiArNDg3LDMxIEBAIHZvaWQgRWxlbWVudEltcGw6OnNldFByZWZpeChjb25z
dCBBdG9taWMKICAgICBtX3RhZ05hbWUuc2V0UHJlZml4KF9wcmVmaXgpOwogfQogCitFbGVtZW50
SW1wbCogRWxlbWVudEltcGw6Omluc2VydEFkamFjZW50RWxlbWVudChjb25zdCBET01TdHJpbmcm
IHdoZXJlLCBFbGVtZW50SW1wbCogbmV3Q2hpbGQsIGludCYgZXhjZXB0aW9uKQoreworICAgIGlm
ICghbmV3Q2hpbGQpIHsKKyAgICAgICAgLy8gRklYTUU6IFdoYXQgZG9lcyBJRSBkbyBpbiB0aGlz
IGNhc2U/IEV4Y2VwdGlvbj8KKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgaWYgKGVx
dWFsSWdub3JpbmdDYXNlKHdoZXJlLCAiYmVmb3JlQmVnaW4iKSkgeworICAgICAgICBpZiAoTm9k
ZUltcGwqIHAgPSBwYXJlbnQoKSkKKyAgICAgICAgICAgIHJldHVybiBwLT5pbnNlcnRCZWZvcmUo
bmV3Q2hpbGQsIHRoaXMsIGV4Y2VwdGlvbikgPyBuZXdDaGlsZCA6IDA7CisgICAgICAgIC8vIEZJ
WE1FOiBXaGF0IGRvZXMgSUUgZG8gaW4gdGhpcyBjYXNlPyBFeGNlcHRpb24/CisgICAgfSBlbHNl
IGlmIChlcXVhbElnbm9yaW5nQ2FzZSh3aGVyZSwgImFmdGVyQmVnaW4iKSkgeworICAgICAgICBy
ZXR1cm4gaW5zZXJ0QmVmb3JlKG5ld0NoaWxkLCBmaXJzdENoaWxkKCksIGV4Y2VwdGlvbikgPyBu
ZXdDaGlsZCA6IDA7CisgICAgfSBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZSh3aGVyZSwgImJl
Zm9yZUVuZCIpKSB7CisgICAgICAgIHJldHVybiBhcHBlbmRDaGlsZChuZXdDaGlsZCwgZXhjZXB0
aW9uKSA/IG5ld0NoaWxkIDogMDsKKyAgICB9IGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHdo
ZXJlLCAiYWZ0ZXJFbmQiKSkgeworICAgICAgICBpZiAoTm9kZUltcGwqIHAgPSBwYXJlbnQoKSkK
KyAgICAgICAgICAgIHJldHVybiBwLT5pbnNlcnRCZWZvcmUobmV3Q2hpbGQsIG5leHRTaWJsaW5n
KCksIGV4Y2VwdGlvbikgPyBuZXdDaGlsZCA6IDA7CisgICAgICAgIC8vIEZJWE1FOiBXaGF0IGRv
ZXMgSUUgZG8gaW4gdGhpcyBjYXNlPyBFeGNlcHRpb24/CisgICAgfSBlbHNlIHsKKyAgICAgICAg
Ly8gRklYTUU6IFdoYXQgZG9lcyBJRSBkbyBpbiB0aGlzIGNhc2U/IEV4Y2VwdGlvbj8KKyAgICB9
CisgICAgcmV0dXJuIDA7Cit9CisKIHZvaWQgRWxlbWVudEltcGw6OmNyZWF0ZUF0dHJpYnV0ZU1h
cCgpIGNvbnN0CiB7CiAgICAgbmFtZWRBdHRyTWFwID0gbmV3IE5hbWVkQXR0ck1hcEltcGwoY29u
c3RfY2FzdDxFbGVtZW50SW1wbCo+KHRoaXMpKTsK
</data>
<flag name="review"
          id="1817"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>7175</attachid>
            <date>2006-03-19 09:57:40 -0800</date>
            <delta_ts>2006-03-19 10:51:11 -0800</delta_ts>
            <desc>latest testcase</desc>
            <filename>test.html</filename>
            <type>text/html</type>
            <size>1633</size>
            <attacher name="Alexander Kellett">a</attacher>
            
              <data encoding="base64">PGJvZHk+CiAgIDxzcGFuIGlkPSJjb250YWluZXIiIHN0eWxlPSJjb2xvcjogZ3JlZW4iPgogICA8
L3NwYW4+CiAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IG5vbmUiPgogICAgICA8c3BhbiBpZD0iMSI+
CiAgICAgICAgIDEgKGJsYWNrKQogICAgICA8L3NwYW4+CiAgICAgIDxzcGFuIGlkPSIyIj4KICAg
ICAgICAgMiAoZ3JlZW4pCiAgICAgIDwvc3Bhbj4KICAgICAgPHNwYW4gaWQ9IjMiPgogICAgICAg
ICAzIChncmVlbikKICAgICAgPC9zcGFuPgogICAgICA8c3BhbiBpZD0iNCI+CiAgICAgICAgIDQg
KGJsYWNrKQogICAgICA8L3NwYW4+CiAgIDwvZGl2PgogICA8c3BhbiBpZD0ic3RhdHVzIiBzdHls
ZT0iY29sb3I6IHJlZCI+CiAgICAgIEZBSUxVUkUKICAgPC9zcGFuPgo8L2JvZHk+CjxzY3JpcHQ+
CiAgIC8vIHZlcmlmeSBhbGwgc3RhbmRhcmQgY2FzZXMKICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpLmluc2VydEFkamFjZW50RWxlbWVudCgiYmVmb3JlQmVnaW4iLCBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiMSIpKTsKICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLmluc2VydEFkamFjZW50RWxlbWVudCgiYWZ0ZXJCZWdpbiIsIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCIyIikpOwogICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVy
IikuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KCJiZWZvcmVFbmQiLCBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiMyIpKTsKICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLmluc2Vy
dEFkamFjZW50RWxlbWVudCgiYWZ0ZXJFbmQiLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiNCIp
KTsKCiAgIGZ1bmN0aW9uIGFzc2VydFRocm93cyhmdW5jKSB7CiAgICAgIHZhciB0ZXN0UGFzc2Vk
ID0gZmFsc2U7CiAgICAgIHRyeSB7CiAgICAgICAgIGZ1bmMoKTsKICAgICAgfSBjYXRjaCAoZSkg
ewogICAgICAgICB0ZXN0UGFzc2VkID0gdHJ1ZTsKICAgICAgfQogICAgICByZXR1cm4gdGVzdFBh
c3NlZDsKICAgfQoKICAgLy8gY2hlY2sgdGhhdCBleGNlcHRpb25zIGFyZSB0aHJvd24gYXMgcmVx
dWlyZWQKICAgdmFyIHBhc3NlcyA9IHRydWU7CiAgIHBhc3NlcyA9IHBhc3NlcyAmIGFzc2VydFRo
cm93cyhmdW5jdGlvbigpIHsKICAgICAgLy8gc2hvdWxkIHRocm93IEVfSU5WQUxJREFSRwogICAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIikuaW5zZXJ0QWRqYWNlbnRFbGVt
ZW50KCJibGFoIiwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIjEiKSk7CiAgIH0pOwogICBwYXNz
ZXMgPSBwYXNzZXMgJiBhc3NlcnRUaHJvd3MoZnVuY3Rpb24oKSB7CiAgICAgIC8vIHNob3VsZCB0
aHJvdyBFX0lOVkFMSURBUkcKICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLmluc2VydEFkamFjZW50RWxlbWVudCgiYmVmb3JlRW5kIiwgbnVsbCk7CiAgIH0pOwogICBp
ZiAocGFzc2VzKSB7CiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGF0dXMiKS5zdHls
ZS5jb2xvciA9ICJncmVlbiI7CiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGF0dXMi
KS5pbm5lckhUTUwgPSAiUEFTUyI7CiAgIH0KPC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>7176</attachid>
            <date>2006-03-19 10:51:11 -0800</date>
            <delta_ts>2006-03-26 21:06:18 -0800</delta_ts>
            <desc>latest testcase</desc>
            <filename>test.html</filename>
            <type>text/html</type>
            <size>1912</size>
            <attacher name="Alexander Kellett">a</attacher>
            
              <data encoding="base64">PGJvZHk+CiAgIDxwcmUgaWQ9ImVycm9yLWxvZyI+PC9wcmU+CgogICA8c3BhbiBpZD0iY29udGFp
bmVyIiBzdHlsZT0iY29sb3I6IGdyZWVuIj4KICAgPC9zcGFuPgogICA8ZGl2IHN0eWxlPSJkaXNw
bGF5OiBub25lIj4KICAgICAgPHNwYW4gaWQ9IjEiPgogICAgICAgICAxIChibGFjaykKICAgICAg
PC9zcGFuPgogICAgICA8c3BhbiBpZD0iMiI+CiAgICAgICAgIDIgKGdyZWVuKQogICAgICA8L3Nw
YW4+CiAgICAgIDxzcGFuIGlkPSIzIj4KICAgICAgICAgMyAoZ3JlZW4pCiAgICAgIDwvc3Bhbj4K
ICAgICAgPHNwYW4gaWQ9IjQiPgogICAgICAgICA0IChibGFjaykKICAgICAgPC9zcGFuPgogICA8
L2Rpdj4KICAgPHNwYW4gaWQ9InN0YXR1cyIgc3R5bGU9ImNvbG9yOiByZWQiPgogICAgICBGQUlM
VVJFCiAgIDwvc3Bhbj4KPC9ib2R5Pgo8c2NyaXB0PgogICAvLyB2ZXJpZnkgYWxsIHN0YW5kYXJk
IGNhc2VzCiAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKS5pbnNlcnRBZGph
Y2VudEVsZW1lbnQoImJlZm9yZUJlZ2luIiwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIjEiKSk7
CiAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKS5pbnNlcnRBZGphY2VudEVs
ZW1lbnQoImFmdGVyQmVnaW4iLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiMiIpKTsKICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLmluc2VydEFkamFjZW50RWxlbWVudCgi
YmVmb3JlRW5kIiwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIjMiKSk7CiAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKS5pbnNlcnRBZGphY2VudEVsZW1lbnQoImFmdGVyRW5k
IiwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIjQiKSk7CgogICBmdW5jdGlvbiBhc3NlcnRUaHJv
d3MoZnVuYykgewogICAgICB2YXIgdGVzdFBhc3NlZCA9IGZhbHNlOwogICAgICB0cnkgewogICAg
ICAgICBmdW5jKCk7CiAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVycm9yLWxvZyIpLmlubmVySFRNTCArPSAiQ2F1Z2h0IGV4cGVjdGVkIGV4Y2Vw
dGlvbjogIiArIGUgKyAiXG4iOwogICAgICAgICB0ZXN0UGFzc2VkID0gdHJ1ZTsKICAgICAgfQog
ICAgICByZXR1cm4gdGVzdFBhc3NlZDsKICAgfQoKICAgLy8gY2hlY2sgdGhhdCBleGNlcHRpb25z
IGFyZSB0aHJvd24gYXMgcmVxdWlyZWQKICAgdmFyIHBhc3NlcyA9IHRydWU7CiAgIHBhc3NlcyA9
IHBhc3NlcyAmIGFzc2VydFRocm93cyhmdW5jdGlvbigpIHsKICAgICAgLy8gc2hvdWxkIHRocm93
IEVfSU5WQUxJREFSRwogICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiku
aW5zZXJ0QWRqYWNlbnRFbGVtZW50KCJibGFoIiwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIjEi
KSk7CiAgIH0pOwogICBwYXNzZXMgPSBwYXNzZXMgJiBhc3NlcnRUaHJvd3MoZnVuY3Rpb24oKSB7
CiAgICAgIC8vIHNob3VsZCB0aHJvdyBFX0lOVkFMSURBUkcKICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpLmluc2VydEFkamFjZW50RWxlbWVudCgiYmVmb3JlRW5kIiwg
bnVsbCk7CiAgIH0pOwoKICAgdmFyIGVsdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIp
OwogICBwYXNzZXMgPSBwYXNzZXMgJiAoZWx0Lmluc2VydEFkamFjZW50RWxlbWVudCgiYmVmb3Jl
QmVnaW4iLCBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJwIikpID09IG51bGwpOwogICBpZiAocGFz
c2VzKSB7CiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGF0dXMiKS5zdHlsZS5jb2xv
ciA9ICJncmVlbiI7CiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGF0dXMiKS5pbm5l
ckhUTUwgPSAiUEFTUyI7CiAgIH0KPC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>7320</attachid>
            <date>2006-03-26 21:06:18 -0800</date>
            <delta_ts>2006-03-26 22:47:03 -0800</delta_ts>
            <desc>testcases</desc>
            <filename>6520-tests.patch</filename>
            <type>text/plain</type>
            <size>2727</size>
            <attacher name="Alexander Kellett">a</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDEzNDgy
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTIgQEAKKzIwMDYtMDMt
MjYgIEFsZXhhbmRlciBLZWxsZXR0ICA8bHlwYW5vdkBrZGUub3JnPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIC0gdGVzdCBmb3IgaHR0cDovL2J1Z3pp
bGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD02NTIwCisgICAgICAgIHRoZSBJRSBl
eHRlbnNpb24gaW5zZXJ0QWRqYWNlbnRFbGVtZW50CisKKyAgICAgICAgKiBmYXN0L2R5bmFtaWMv
aW5zZXJ0QWRqYWNlbnRFbGVtZW50Lmh0bWw6IEFkZGVkLgorCiAyMDA2LTAzLTIzICBFcmljIFNl
aWRlbCAgPGVzZWlkZWxAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IG1qcy4KSW5k
ZXg6IGZhc3QvZHluYW1pYy9pbnNlcnRBZGphY2VudEVsZW1lbnQuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBmYXN0L2R5bmFtaWMvaW5zZXJ0QWRqYWNlbnRFbGVtZW50Lmh0bWwJKHJldmlzaW9uIDApCisr
KyBmYXN0L2R5bmFtaWMvaW5zZXJ0QWRqYWNlbnRFbGVtZW50Lmh0bWwJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsNTkgQEAKKzxib2R5PgorICAgPHByZSBpZD0iZXJyb3ItbG9nIj48L3ByZT4KKwor
ICAgPHNwYW4gaWQ9ImNvbnRhaW5lciIgc3R5bGU9ImNvbG9yOiBncmVlbiI+CisgICA8L3NwYW4+
CisgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OiBub25lIj4KKyAgICAgIDxzcGFuIGlkPSIxIj4KKyAg
ICAgICAgIDEgKGJsYWNrKQorICAgICAgPC9zcGFuPgorICAgICAgPHNwYW4gaWQ9IjIiPgorICAg
ICAgICAgMiAoZ3JlZW4pCisgICAgICA8L3NwYW4+CisgICAgICA8c3BhbiBpZD0iMyI+CisgICAg
ICAgICAzIChncmVlbikKKyAgICAgIDwvc3Bhbj4KKyAgICAgIDxzcGFuIGlkPSI0Ij4KKyAgICAg
ICAgIDQgKGJsYWNrKQorICAgICAgPC9zcGFuPgorICAgPC9kaXY+CisgICA8c3BhbiBpZD0ic3Rh
dHVzIiBzdHlsZT0iY29sb3I6IHJlZCI+CisgICAgICBGQUlMVVJFCisgICA8L3NwYW4+Cis8L2Jv
ZHk+Cis8c2NyaXB0PgorICAgLy8gdmVyaWZ5IGFsbCBzdGFuZGFyZCBjYXNlcworICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLmluc2VydEFkamFjZW50RWxlbWVudCgiYmVm
b3JlQmVnaW4iLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiMSIpKTsKKyAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKS5pbnNlcnRBZGphY2VudEVsZW1lbnQoImFmdGVyQmVn
aW4iLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiMiIpKTsKKyAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250YWluZXIiKS5pbnNlcnRBZGphY2VudEVsZW1lbnQoImJlZm9yZUVuZCIsIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCIzIikpOworICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRhaW5lciIpLmluc2VydEFkamFjZW50RWxlbWVudCgiYWZ0ZXJFbmQiLCBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiNCIpKTsKKworICAgZnVuY3Rpb24gYXNzZXJ0VGhyb3dzKGZ1bmMpIHsK
KyAgICAgIHZhciB0ZXN0UGFzc2VkID0gZmFsc2U7CisgICAgICB0cnkgeworICAgICAgICAgZnVu
YygpOworICAgICAgfSBjYXRjaCAoZSkgeworICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVycm9yLWxvZyIpLmlubmVySFRNTCArPSAiQ2F1Z2h0IGV4cGVjdGVkIGV4Y2VwdGlvbjog
IiArIGUgKyAiXG4iOworICAgICAgICAgdGVzdFBhc3NlZCA9IHRydWU7CisgICAgICB9CisgICAg
ICByZXR1cm4gdGVzdFBhc3NlZDsKKyAgIH0KKworICAgLy8gY2hlY2sgdGhhdCBleGNlcHRpb25z
IGFyZSB0aHJvd24gYXMgcmVxdWlyZWQKKyAgIHZhciBwYXNzZXMgPSB0cnVlOworICAgcGFzc2Vz
ID0gcGFzc2VzICYgYXNzZXJ0VGhyb3dzKGZ1bmN0aW9uKCkgeworICAgICAgLy8gc2hvdWxkIHRo
cm93IEVfSU5WQUxJREFSRworICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5l
ciIpLmluc2VydEFkamFjZW50RWxlbWVudCgiYmxhaCIsIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCIxIikpOworICAgfSk7CisgICBwYXNzZXMgPSBwYXNzZXMgJiBhc3NlcnRUaHJvd3MoZnVuY3Rp
b24oKSB7CisgICAgICAvLyBzaG91bGQgdGhyb3cgRV9JTlZBTElEQVJHCisgICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIikuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KCJiZWZv
cmVFbmQiLCBudWxsKTsKKyAgIH0pOworCisgICB2YXIgZWx0ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiZGl2Iik7CisgICBwYXNzZXMgPSBwYXNzZXMgJiAoZWx0Lmluc2VydEFkamFjZW50RWxl
bWVudCgiYmVmb3JlQmVnaW4iLCBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJwIikpID09IG51bGwp
OworICAgaWYgKHBhc3NlcykgeworICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXR1
cyIpLnN0eWxlLmNvbG9yID0gImdyZWVuIjsKKyAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdGF0dXMiKS5pbm5lckhUTUwgPSAiUEFTUyI7CisgICB9Cis8L3NjcmlwdD4K
</data>
<flag name="review"
          id="1952"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>7321</attachid>
            <date>2006-03-26 21:06:54 -0800</date>
            <delta_ts>2006-03-26 22:46:45 -0800</delta_ts>
            <desc>patch taking into account move to Element, and implementing bindings, no exceptions thrown yet</desc>
            <filename>6520.patch</filename>
            <type>text/plain</type>
            <size>4229</size>
            <attacher name="Alexander Kellett">a</attacher>
            
              <data encoding="base64">SW5kZXg6IGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCShyZXZpc2lvbiAxMzQ4MSkKKysr
IGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCSh3b3JraW5nIGNvcHkpCkBAIC0x
NDcsNiArMTQ3LDcgQEAgc3ViIEFkZEluY2x1ZGVzRm9yVHlwZQogICAgICAgJHR5cGUgZXEgIkNh
bnZhc1BhdHRlcm4iIG9yCiAgICAgICAkdHlwZSBlcSAiUmFuZ2UiIG9yCiAgICAgICAkdHlwZSBl
cSAiRG9jdW1lbnRGcmFnbWVudCIgb3IKKyAgICAgICR0eXBlIGVxICJOb2RlIiBvcgogICAgICAg
JHR5cGUgZXEgIkF0dHIiIG9yCiAgICAgICAkdHlwZSBlcSAiRWxlbWVudCIpIHsKICAgICAkaW1w
bEluY2x1ZGVzeyIke3R5cGV9LmgifSA9IDE7CkluZGV4OiBkb20vRWxlbWVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIGRvbS9FbGVtZW50LmgJKHJldmlzaW9uIDEzNDgxKQorKysgZG9tL0VsZW1lbnQuaAko
d29ya2luZyBjb3B5KQpAQCAtMTIyLDcgKzEyMiw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZv
aWQgcmVjYWxjU3R5bGUoIFN0eWxlQ2hhbmdlID0gTm9DaGFuZ2UgKTsKIAogICAgIHZpcnR1YWwg
Ym9vbCBjaGlsZFR5cGVBbGxvd2VkKE5vZGVUeXBlKTsKLSAKKwogICAgIHZpcnR1YWwgQXR0cmli
dXRlKiBjcmVhdGVBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgU3RyaW5nSW1w
bCogdmFsdWUpOwogICAgIAogICAgIHZvaWQgZGlzcGF0Y2hBdHRyUmVtb3ZhbEV2ZW50KEF0dHJp
YnV0ZSAqYXR0cik7CkBAIC0xNDIsNiArMTQyLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9p
ZCBmb3JtYXRGb3JEZWJ1Z2dlcihjaGFyICpidWZmZXIsIHVuc2lnbmVkIGxlbmd0aCkgY29uc3Q7
CiAjZW5kaWYKIAorICAgIE5vZGVJbXBsKiBpbnNlcnRBZGphY2VudEVsZW1lbnQoY29uc3QgRE9N
U3RyaW5nJiB3aGVyZSwgTm9kZUltcGwqIG5ld0NoaWxkLCBpbnQmIGV4Y2VwdGlvbik7CisgCiBw
cm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIGNyZWF0ZUF0dHJpYnV0ZU1hcCgpIGNvbnN0Owog
ICAgIFN0cmluZyBvcGVuVGFnU3RhcnRUb1N0cmluZygpIGNvbnN0OwpJbmRleDogZG9tL0VsZW1l
bnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIGRvbS9FbGVtZW50LmlkbAkocmV2aXNpb24gMTM0ODEpCisr
KyBkb20vRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTc5LDYgKzc5LDExIEBAIG1vZHVs
ZSBjb3JlIHsKICAgICAgICAgdm9pZCBmb2N1cygpOwogICAgICAgICB2b2lkIGJsdXIoKTsKIAor
ICAgICAgICAvLyBJRSBvbmx5IGV4dGVuc2lvbgorICAgICAgICBOb2RlIGluc2VydEFkamFjZW50
RWxlbWVudChpbiBET01TdHJpbmcgcG9zaXRpb24sIAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbiBOb2RlIG5ld0F0dHIpCisgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0
aW9uKTsKKwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTU3R5bGVEZWNsYXJhdGlvbiBz
dHlsZTsKIAogICAgIH07CkluZGV4OiBkb20vRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZG9t
L0VsZW1lbnQuY3BwCShyZXZpc2lvbiAxMzQ4MSkKKysrIGRvbS9FbGVtZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjU3LDYgKzI1NywzOCBAQCB2b2lkIEVsZW1lbnQ6OnNldFByZWZpeChjb25z
dCBBdG9taWNTdHJpCiAgICAgbV90YWdOYW1lLnNldFByZWZpeChfcHJlZml4KTsKIH0KIAorTm9k
ZUltcGwqIEVsZW1lbnRJbXBsOjppbnNlcnRBZGphY2VudEVsZW1lbnQoY29uc3QgRE9NU3RyaW5n
JiB3aGVyZSwgTm9kZUltcGwqIG5ld0NoaWxkLCBpbnQmIGV4Y2VwdGlvbikKK3sKKyAgICBpZiAo
IW5ld0NoaWxkKSB7CisgICAgICAgIC8vIElFIHRocm93cyBDT00gRXhjZXB0aW9uIEVfSU5WQUxJ
REFSRzsgdGhpcyBpcyB0aGUgYmVzdCBET00gZXhjZXB0aW9uIGFsdGVybmF0aXZlCisgICAgICAg
IGV4Y2VwdGlvbiA9IFRZUEVfTUlTTUFUQ0hfRVJSOworICAgICAgICByZXR1cm4gMDsKKyAgICB9
CisgICAgCisgICAgLy8gSW4gSW50ZXJuZXQgRXhwbG9yZXIgaWYgdGhlIGVsZW1lbnQgaGFzIG5v
IHBhcmVudCBhbmQgd2hlcmUgaXMgImJlZm9yZUJlZ2luIiBvciAiYWZ0ZXJFbmQiLAorICAgIC8v
IGEgZG9jdW1lbnQgZnJhZ21lbnQgaXMgY3JlYXRlZCBhbmQgdGhlIGVsZW1lbnRzIGFwcGVuZGVk
IGluIHRoZSBjb3JyZWN0IG9yZGVyLiBUaGlzIGRvY3VtZW50CisgICAgLy8gZnJhZ21lbnQgaXNu
J3QgcmV0dXJuZWQgYW55d2hlcmUuCisgICAgLy8KKyAgICAvLyBUaGlzIGlzIGltcG9zc2libGUg
Zm9yIHVzIHRvIGltcGxlbWVudCBhcyB0aGUgRE9NIHRyZWUgZG9lcyBub3QgYWxsb3cgZm9yIHN1
Y2ggc3RydWN0dXJlcywKKyAgICAvLyBPcGVyYSBhbHNvIGFwcGVhcnMgdG8gZGlzYWxsb3cgc3Vj
aCB1c2FnZS4KKyAgICAKKyAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2Uod2hlcmUsICJiZWZvcmVC
ZWdpbiIpKSB7CisgICAgICAgIGlmIChOb2RlSW1wbCogcCA9IHBhcmVudCgpKQorICAgICAgICAg
ICAgcmV0dXJuIHAtPmluc2VydEJlZm9yZShuZXdDaGlsZCwgdGhpcywgZXhjZXB0aW9uKSA/IG5l
d0NoaWxkIDogMDsKKyAgICB9IGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHdoZXJlLCAiYWZ0
ZXJCZWdpbiIpKSB7CisgICAgICAgIHJldHVybiBpbnNlcnRCZWZvcmUobmV3Q2hpbGQsIGZpcnN0
Q2hpbGQoKSwgZXhjZXB0aW9uKSA/IG5ld0NoaWxkIDogMDsKKyAgICB9IGVsc2UgaWYgKGVxdWFs
SWdub3JpbmdDYXNlKHdoZXJlLCAiYmVmb3JlRW5kIikpIHsKKyAgICAgICAgcmV0dXJuIGFwcGVu
ZENoaWxkKG5ld0NoaWxkLCBleGNlcHRpb24pID8gbmV3Q2hpbGQgOiAwOworICAgIH0gZWxzZSBp
ZiAoZXF1YWxJZ25vcmluZ0Nhc2Uod2hlcmUsICJhZnRlckVuZCIpKSB7CisgICAgICAgIGlmIChO
b2RlSW1wbCogcCA9IHBhcmVudCgpKQorICAgICAgICAgICAgcmV0dXJuIHAtPmluc2VydEJlZm9y
ZShuZXdDaGlsZCwgbmV4dFNpYmxpbmcoKSwgZXhjZXB0aW9uKSA/IG5ld0NoaWxkIDogMDsKKyAg
ICB9IGVsc2UgeworICAgICAgICAvLyBJRSB0aHJvd3MgQ09NIEV4Y2VwdGlvbiBFX0lOVkFMSURB
Ukc7IHRoaXMgaXMgdGhlIGJlc3QgRE9NIGV4Y2VwdGlvbiBhbHRlcm5hdGl2ZQorICAgICAgICBl
eGNlcHRpb24gPSBOT1RfU1VQUE9SVEVEX0VSUjsKKyAgICB9CisgICAgcmV0dXJuIDA7Cit9CisK
IHZvaWQgRWxlbWVudDo6Y3JlYXRlQXR0cmlidXRlTWFwKCkgY29uc3QKIHsKICAgICBuYW1lZEF0
dHJNYXAgPSBuZXcgTmFtZWRBdHRyTWFwKGNvbnN0X2Nhc3Q8RWxlbWVudCo+KHRoaXMpKTsKSW5k
ZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDEzNDgyKQor
KysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMDYtMDMtMjYg
IEFsZXhhbmRlciBLZWxsZXR0ICA8bHlwYW5vdkBrZGUub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCB0aGUgSUUgZXh0ZW5zaW9u
IGluc2VydEFkamFjZW50RWxlbWVudAorICAgICAgICBodHRwOi8vYnVnemlsbGEub3BlbmRhcndp
bi5vcmcvc2hvd19idWcuY2dpP2lkPTY1MjAKKworICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkVsZW1lbnRJbXBsOjppbnNlcnRBZGphY2VudEVsZW1lbnQpOgorICAgICAgICAq
IGRvbS9FbGVtZW50Lmg6CisgICAgICAgICogZG9tL0VsZW1lbnQuaWRsOgorCiAyMDA2LTAzLTI1
ICBFcmljIFNlaWRlbCAgPGVzZWlkZWxAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IGFuZGVyc2NhLgo=
</data>
<flag name="review"
          id="1953"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>