<?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>8393</bug_id>
          
          <creation_ts>2006-04-14 13:51:03 -0700</creation_ts>
          <short_desc>&lt;br&gt;s created by createMarkup aren&apos;t valid xhtml</short_desc>
          <delta_ts>2006-05-23 10:47:03 -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>HTML Editing</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>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Justin Garcia">justin.garcia</reporter>
          <assigned_to name="Levi Weintraub">lweintraub</assigned_to>
          <cc>james</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>39286</commentid>
    <comment_count>0</comment_count>
    <who name="Justin Garcia">justin.garcia</who>
    <bug_when>2006-04-14 13:51:03 -0700</bug_when>
    <thetext>They need to be self closing: &lt;br /&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39298</commentid>
    <comment_count>1</comment_count>
    <who name="James Cox">james</who>
    <bug_when>2006-04-14 17:54:42 -0700</bug_when>
    <thetext>also elements need to be lowercase as XML is case sensitive....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42059</commentid>
    <comment_count>2</comment_count>
      <attachid>8256</attachid>
    <who name="Levi Weintraub">lweintraub</who>
    <bug_when>2006-05-11 18:10:51 -0700</bug_when>
    <thetext>Created attachment 8256
Patch + Layout Tests + Detailed Changelog Entry</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42060</commentid>
    <comment_count>3</comment_count>
      <attachid>8256</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-05-11 18:26:54 -0700</bug_when>
    <thetext>Comment on attachment 8256
Patch + Layout Tests + Detailed Changelog Entry

I don&apos;t think this is right.  I don&apos;t like the lowering of the nodeNames().

I also think it could have a better name for the test.  We can talk about this in person.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42061</commentid>
    <comment_count>4</comment_count>
      <attachid>8256</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2006-05-11 18:28:23 -0700</bug_when>
    <thetext>Comment on attachment 8256
Patch + Layout Tests + Detailed Changelog Entry

Elements and attributes in XML are case-sensitive.  For generic non-HTML elements, the output should not be lower-cased. It should be left alone.

For HTML elements, nodeName has been hacked to return an upper-case string.  In both HTML and XHTML, this is not what should be used for HTML elements.  We want to output in lower-case for HTML elements regardless of document type.

Rather than having to .lower() over and over it would be better to put an accessor on HTML element that didn&apos;t .upper() the result.  

Right now you&apos;re calling nodeName() which uppers and then .lowering that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42062</commentid>
    <comment_count>5</comment_count>
      <attachid>8256</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-05-11 18:31:57 -0700</bug_when>
    <thetext>Comment on attachment 8256
Patch + Layout Tests + Detailed Changelog Entry

The bug in the original code is that it is using nodeName(). That function uppercases the local names. Instead you should use localName() on that call site. You should *not* call lower() since there can be non-HTML tags and attribute names that are mixed case, and lowercasing them is incorrect.

I believe the change to shouldSelfClose is also incorrect, although you should check that one with Maciej and Eric who have worked in this area in the past. I don&apos;t think we want to generate self-closing tags at all when generating HTML.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42410</commentid>
    <comment_count>6</comment_count>
      <attachid>8331</attachid>
    <who name="Levi Weintraub">lweintraub</who>
    <bug_when>2006-05-15 15:03:15 -0700</bug_when>
    <thetext>Created attachment 8331
Patch + Changelog

The confusion seems to come from the expectation for createMarkup to generate xhtml when operating on an html document. This is not desired behavior. There was an issue with the case being .uppered() for html documents, and this has been patched by substituting localName for nodeName as per Darin&apos;s comment.

When operating on an xhtml document, createMarkup generates valid &lt;br&gt;s.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42911</commentid>
    <comment_count>7</comment_count>
      <attachid>8331</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-05-19 13:52:02 -0700</bug_when>
    <thetext>Comment on attachment 8331
Patch + Changelog

r=me!  we discussed in person some additional testing strategies.  But the code is OK to land.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43162</commentid>
    <comment_count>8</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2006-05-22 11:39:14 -0700</bug_when>
    <thetext>Are you calling .localName on XML elements too?  That would not be right.  localName excludes the prefix, so you&apos;re losing information when serializing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43201</commentid>
    <comment_count>9</comment_count>
      <attachid>8461</attachid>
    <who name="Levi Weintraub">lweintraub</who>
    <bug_when>2006-05-22 14:12:04 -0700</bug_when>
    <thetext>Created attachment 8461
Patch

Attempted to land a fix in r14516. That change addressed mjs&apos;s point about prefixes.

Change from r14516 to remove ugly non-virtual dispatch (my bad).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43253</commentid>
    <comment_count>10</comment_count>
      <attachid>8461</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2006-05-23 02:43:59 -0700</bug_when>
    <thetext>Comment on attachment 8461
Patch

Yeah this is good.  r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43284</commentid>
    <comment_count>11</comment_count>
    <who name="Levi Weintraub">lweintraub</who>
    <bug_when>2006-05-23 10:47:03 -0700</bug_when>
    <thetext>Patch landed in r14537!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>8256</attachid>
            <date>2006-05-11 18:10:51 -0700</date>
            <delta_ts>2006-05-15 15:03:15 -0700</delta_ts>
            <desc>Patch + Layout Tests + Detailed Changelog Entry</desc>
            <filename>bugzilla8393diff.txt</filename>
            <type>text/plain</type>
            <size>6178</size>
            <attacher name="Levi Weintraub">lweintraub</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE0MzE4KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMDYtMDUtMTEgIExldmkgV2VpbnRyYXViICA8
bHdlaW50cmF1YkBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQ2hlY2tzIGZvciBsb3dlciBjYXNlIHRhZ3MgYW5kIGF0dHJpYnV0ZXMg
YXMgd2VsbCBhcyBzZWxmLQorICAgICAgICBjbG9zaW5nIHRhZ3MgZ2VuZXJhdGVkIGJ5IGNyZWF0
ZU1hcmt1cCBpbiBhbiBhdHRlbXB0IHRvCisgICAgICAgIHZlcmlmeSB0aGF0IGl0IGlzIHByb2R1
Y2luZyB2YWxpZCBYSFRNTC4KKworICAgICAgICAqIGZhc3QvaW5uZXJIVE1ML3ZhbGlkWEhUTUwt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2lubmVySFRNTC92YWxpZFhIVE1M
Lmh0bWw6IEFkZGVkLgorCiAyMDA2LTA1LTExICBKdXN0aW4gR2FyY2lhICA8anVzdGluLmdhcmNp
YUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgdGhhdGNoZXIsIGxldmkKSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvaW5uZXJIVE1ML3ZhbGlkWEhUTUwuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2lubmVySFRNTC92YWxpZFhIVE1MLmh0bWwJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L2lubmVySFRNTC92YWxpZFhIVE1MLmh0bWwJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsMjcgQEAKKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRvIHNlZSBpZiBpbm5lckhUTUwgaXMgb3V0cHV0dGluZyBYSFRNTCA8YnIgLz4KK2NvbXBs
aWFudCBjb2RlLiBUaGUgYmVsb3cgdGFnIG5hbWVzIGFuZCBwcm9wZXJ0aWVzIHNob3VsZCBiZSA8
YnIgLz4gbG93ZXIgY2FzZSBhbmQKK3NlbGYtY2xvc2luZyB3aGVyZSBhcHBsaWNhYmxlLjwvZGl2
PgorCis8ZGl2IGlkPSJ0ZXN0IiBzdHlsZT0iZGlzcGxheTpub25lIj48QlI+PGJyPjxIUj48ZEl2
IHNUeUxlPSJjb2xvcjpibHVFOyI+PC9kaVY+PC9kaXY+CisKKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorCis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICB3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCitmdW5jdGlvbiBsb2co
bWVzc2FnZSkgeworICAgIHZhciBjb25zb2xlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnNvbGUiKTsKKyAgICB2YXIgbGkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaSIpOworICAg
IHZhciBwcmUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJwcmUiKTsKKyAgICBwcmUuYXBwZW5k
Q2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobWVzc2FnZSkpOworICAgIGxpLmFwcGVuZENo
aWxkKHByZSk7CisgICAgY29uc29sZS5hcHBlbmRDaGlsZChsaSk7Cit9CisKK3ZhciBlID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKTsKK2xvZyhlLmlubmVySFRNTCk7CisKKworPC9z
Y3JpcHQ+CisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvaW5uZXJIVE1ML3ZhbGlkWEhUTUwtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvaW5uZXJIVE1ML3ZhbGlk
WEhUTUwtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9pbm5l
ckhUTUwvdmFsaWRYSFRNTC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNyBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0byBzZWUgaWYgaW5uZXJIVE1MIGlzIG91dHB1dHRpbmcgWEhU
TUwgCitjb21wbGlhbnQgY29kZS4gVGhlIGJlbG93IHRhZyBuYW1lcyBhbmQgcHJvcGVydGllcyBz
aG91bGQgYmUgCitsb3dlciBjYXNlIGFuZCBzZWxmLWNsb3Npbmcgd2hlcmUgYXBwbGljYWJsZS4K
KworCis8YnIgLz48YnIgLz48aHIgLz48ZGl2IHN0eWxlPSJjb2xvcjpibHVFOyI+PC9kaXY+CisK
SW5kZXg6IFdlYkNvcmUvZWRpdGluZy9tYXJrdXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
ZWRpdGluZy9tYXJrdXAuY3BwCShyZXZpc2lvbiAxNDMxNCkKKysrIFdlYkNvcmUvZWRpdGluZy9t
YXJrdXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTEsNyArMTkxLDcgQEAKICAgICAgICAgY2Fz
ZSBOb2RlOjpQUk9DRVNTSU5HX0lOU1RSVUNUSU9OX05PREU6CiAgICAgICAgICAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8Y29uc3QgUHJvY2Vzc2luZ0luc3RydWN0aW9uICo+KG5vZGUpLT50b1N0cmlu
ZygpLmRlcHJlY2F0ZWRTdHJpbmcoKTsKICAgICAgICAgY2FzZSBOb2RlOjpFTEVNRU5UX05PREU6
IHsKLSAgICAgICAgICAgIERlcHJlY2F0ZWRTdHJpbmcgbWFya3VwID0gUUNoYXIoJzwnKSArIG5v
ZGUtPm5vZGVOYW1lKCkuZGVwcmVjYXRlZFN0cmluZygpOworICAgICAgICAgICAgRGVwcmVjYXRl
ZFN0cmluZyBtYXJrdXAgPSBRQ2hhcignPCcpICsgbm9kZS0+bm9kZU5hbWUoKS5kZXByZWNhdGVk
U3RyaW5nKCkubG93ZXIoKTsKICAgICAgICAgICAgIGNvbnN0IEVsZW1lbnQqIGVsID0gc3RhdGlj
X2Nhc3Q8Y29uc3QgRWxlbWVudCo+KG5vZGUpOwogICAgICAgICAgICAgU3RyaW5nIGFkZGl0aW9u
YWxTdHlsZTsKICAgICAgICAgICAgIGlmIChkZWZhdWx0U3R5bGUgJiYgZWwtPmlzSFRNTEVsZW1l
bnQoKSkgewpAQCAtMjA5LDcgKzIwOSw3IEBACiAgICAgICAgICAgICB1bnNpZ25lZCBsZW5ndGgg
PSBhdHRycy0+bGVuZ3RoKCk7CiAgICAgICAgICAgICBpZiAobGVuZ3RoID09IDAgJiYgYWRkaXRp
b25hbFN0eWxlLmxlbmd0aCgpID4gMCkgewogICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBIYW5k
bGUgY2FzZSB3aGVyZSBhZGRpdGlvbmFsU3R5bGUgaGFzIGlsbGVnYWwgY2hhcmFjdGVycyBpbiBp
dCwgbGlrZSAiCi0gICAgICAgICAgICAgICAgbWFya3VwICs9ICIgIiArICBzdHlsZUF0dHIubG9j
YWxOYW1lKCkuZGVwcmVjYXRlZFN0cmluZygpICsgIj1cIiIgKyBhZGRpdGlvbmFsU3R5bGUuZGVw
cmVjYXRlZFN0cmluZygpICsgIlwiIjsKKyAgICAgICAgICAgICAgICBtYXJrdXAgKz0gIiAiICsg
IHN0eWxlQXR0ci5sb2NhbE5hbWUoKS5kZXByZWNhdGVkU3RyaW5nKCkubG93ZXIoKSArICI9XCIi
ICsgYWRkaXRpb25hbFN0eWxlLmRlcHJlY2F0ZWRTdHJpbmcoKSArICJcIiI7CiAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGlu
dCBpPTA7IGk8bGVuZ3RoOyBpKyspIHsKQEAgLTIxOSw5ICsyMTksOSBAQAogICAgICAgICAgICAg
ICAgICAgICAgICAgdmFsdWUgKz0gIjsgIiArIGFkZGl0aW9uYWxTdHlsZTsKICAgICAgICAgICAg
ICAgICAgICAgLy8gRklYTUU6IEhhbmRsZSBjYXNlIHdoZXJlIHZhbHVlIGhhcyBpbGxlZ2FsIGNo
YXJhY3RlcnMgaW4gaXQsIGxpa2UgIgogICAgICAgICAgICAgICAgICAgICBpZiAoZG9jdW1lbnRJ
c0hUTUwpCi0gICAgICAgICAgICAgICAgICAgICAgICBtYXJrdXAgKz0gIiAiICsgYXR0ci0+bmFt
ZSgpLmxvY2FsTmFtZSgpLmRlcHJlY2F0ZWRTdHJpbmcoKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIG1hcmt1cCArPSAiICIgKyBhdHRyLT5uYW1lKCkubG9jYWxOYW1lKCkuZGVwcmVjYXRlZFN0
cmluZygpLmxvd2VyKCk7CiAgICAgICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAg
ICAgICAgICAgIG1hcmt1cCArPSAiICIgKyBhdHRyLT5uYW1lKCkudG9TdHJpbmcoKS5kZXByZWNh
dGVkU3RyaW5nKCk7CisgICAgICAgICAgICAgICAgICAgICAgICBtYXJrdXAgKz0gIiAiICsgYXR0
ci0+bmFtZSgpLnRvU3RyaW5nKCkuZGVwcmVjYXRlZFN0cmluZygpLmxvd2VyKCk7CiAgICAgICAg
ICAgICAgICAgICAgIG1hcmt1cCArPSAiPVwiIiArIGVzY2FwZVRleHRGb3JNYXJrdXAodmFsdWUu
ZGVwcmVjYXRlZFN0cmluZygpKSArICJcIiI7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgfQpAQCAtMjU2LDE0ICsyNTYsMTEgQEAKIH0KIAogLy8gUnVsZXMgb2Ygc2VsZi1jbG9zdXJl
Ci0vLyAxLiBObyBlbGVtZW50cyBpbiBIVE1MIGRvY3VtZW50cyB1c2UgdGhlIHNlbGYtY2xvc2lu
ZyBzeW50YXguCi0vLyAyLiBFbGVtZW50cyB3LyBjaGlsZHJlbiBuZXZlciBzZWxmLWNsb3NlIGJl
Y2F1c2UgdGhleSB1c2UgYSBzZXBhcmF0ZSBlbmQgdGFnLgotLy8gMy4gSFRNTCBlbGVtZW50cyB3
aGljaCBkbyBub3QgaGF2ZSBhICJmb3JiaWRkZW4iIGVuZCB0YWcgd2lsbCBjbG9zZSB3aXRoIGEg
c2VwYXJhdGUgZW5kIHRhZy4KLS8vIDQuIE90aGVyIGVsZW1lbnRzIHNlbGYtY2xvc2UuCisvLyAx
LiBFbGVtZW50cyB3LyBjaGlsZHJlbiBuZXZlciBzZWxmLWNsb3NlIGJlY2F1c2UgdGhleSB1c2Ug
YSBzZXBhcmF0ZSBlbmQgdGFnLgorLy8gMi4gSFRNTCBlbGVtZW50cyB3aGljaCBkbyBub3QgaGF2
ZSBhICJmb3JiaWRkZW4iIGVuZCB0YWcgd2lsbCBjbG9zZSB3aXRoIGEgc2VwYXJhdGUgZW5kIHRh
Zy4KKy8vIDMuIE90aGVyIGVsZW1lbnRzIHNlbGYtY2xvc2UuCiBzdGF0aWMgaW5saW5lIGJvb2wg
c2hvdWxkU2VsZkNsb3NlKGNvbnN0IE5vZGUgKm5vZGUpCiB7Ci0gICAgaWYgKG5vZGUtPmRvY3Vt
ZW50KCktPmlzSFRNTERvY3VtZW50KCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAo
bm9kZS0+aGFzQ2hpbGROb2RlcygpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKG5v
ZGUtPmlzSFRNTEVsZW1lbnQoKSAmJiAhZG9lc0hUTUxGb3JiaWRFbmRUYWcobm9kZSkpCkBAIC0y
NzQsNyArMjcxLDcgQEAKIHN0YXRpYyBEZXByZWNhdGVkU3RyaW5nIGVuZE1hcmt1cChjb25zdCBO
b2RlICpub2RlKQogewogICAgIGlmIChub2RlLT5pc0VsZW1lbnROb2RlKCkgJiYgIXNob3VsZFNl
bGZDbG9zZShub2RlKSAmJiAhZG9lc0hUTUxGb3JiaWRFbmRUYWcobm9kZSkpCi0gICAgICAgIHJl
dHVybiAiPC8iICsgbm9kZS0+bm9kZU5hbWUoKS5kZXByZWNhdGVkU3RyaW5nKCkgKyAiPiI7Cisg
ICAgICAgIHJldHVybiAiPC8iICsgbm9kZS0+bm9kZU5hbWUoKS5kZXByZWNhdGVkU3RyaW5nKCku
bG93ZXIoKSArICI+IjsKICAgICByZXR1cm4gIiI7CiB9CiAKSW5kZXg6IFdlYkNvcmUvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNDMxOCkKKysr
IFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMDYt
MDUtMTEgIExldmkgV2VpbnRyYXViICA8bHdlaW50cmF1YkBhcHBsZS5jb20+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgLSBmaXggaHR0cDovL2J1Z3pp
bGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD04MzkzCisgICAgICAgIDxicj5zIGNy
ZWF0ZWQgYnkgY3JlYXRlTWFya3VwIGFyZW4ndCB2YWxpZCB4aHRtbAorICAgICAgICBBTEwgdGFn
IGFuZCBhdHRyaWJ1dGUgbmFtZXMgZ2VuZXJhdGVkIGJ5IGNyZWF0ZU1hcmt1cCBhcmUgbm93Cisg
ICAgICAgIGxvd2VyLWNhc2Ugd2l0aCBzZWxmLWNsb3NpbmcgdGFncy4KKworICAgICAgICAqIGVk
aXRpbmcvbWFya3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnN0YXJ0TWFya3VwKToKKyAgICAg
ICAgKFdlYkNvcmU6OnNob3VsZFNlbGZDbG9zZSk6CisgICAgICAgIChXZWJDb3JlOjplbmRNYXJr
dXApOgorCiAyMDA2LTA1LTExICBEYXZpZCBIeWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KIAogICAg
ICAgICBSZW1vdmUgdGhlIG1pc3NwZWxsaW5nIGRyYXdpbmcgY29kZSBmcm9tIEZvbnQgYW5kIEZv
bnREYXRhLiAgSW1wbGVtZW50IGl0Cg==
</data>
<flag name="review"
          id="2310"
          type_id="1"
          status="-"
          setter="hyatt"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>8331</attachid>
            <date>2006-05-15 15:03:15 -0700</date>
            <delta_ts>2006-05-22 14:12:04 -0700</delta_ts>
            <desc>Patch + Changelog</desc>
            <filename>bugzilla8393diff.txt</filename>
            <type>text/plain</type>
            <size>3373</size>
            <attacher name="Levi Weintraub">lweintraub</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE0MzkwKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMDYtMDUtMTUgIExldmkgV2VpbnRyYXViICA8
bHdlaW50cmF1YkBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVXBkYXRlZCB0byByZWZsZWN0IGNoYW5nZSBpbiBjYXNlIGR1ZSB0bwor
ICAgICAgICBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dpP2lkPTgz
OTMKKyAgICAgICAgPGJyPnMgY3JlYXRlZCBieSBjcmVhdGVNYXJrdXAgYXJlbid0IHZhbGlkIHho
dG1sCisKKyAgICAgICAgKiBmYXN0L2lubmVySFRNTC8wMDUtZXhwZWN0ZWQudHh0OgorCiAyMDA2
LTA1LTE0ICBNaXR6IFBldHRlbCAgPG9wZW5kYXJ3aW4ub3JnQG1pdHpwZXR0ZWwuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IEh5YXR0LgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9pbm5lckhU
TUwvMDA1LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2lubmVy
SFRNTC8wMDUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxNDM5MCkKKysrIExheW91dFRlc3RzL2Zh
c3QvaW5uZXJIVE1MLzAwNS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTggKzEs
MTggQEAKIENvbnRlbnQ6Ci08SEVBRD4KLTxNRVRBIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50
PSJUaGlzIHRlc3RzIGh0bWwgb3V0cHV0Ij4KLTxUSVRMRT5odG1sIGlubmVySFRNTCB0ZXN0PC9U
SVRMRT4KLTwvSEVBRD48Qk9EWT4KLTxTUEFOPkNvbnRlbnQ6PC9TUEFOPgotPFBSRSBpZD0iY29u
dGVudCI+cGxhY2Vob2xkZXI8L1BSRT4KLTxESVY+PC9ESVY+Ci08U1BBTj48L1NQQU4+Ci08Qj50
ZXN0PC9CPgotPEJSPgotPFNDUklQVD4KKzxoZWFkPgorPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24i
IGNvbnRlbnQ9IlRoaXMgdGVzdHMgaHRtbCBvdXRwdXQiPgorPHRpdGxlPmh0bWwgaW5uZXJIVE1M
IHRlc3Q8L3RpdGxlPgorPC9oZWFkPjxib2R5PgorPHNwYW4+Q29udGVudDo8L3NwYW4+Cis8cHJl
IGlkPSJjb250ZW50Ij5wbGFjZWhvbGRlcjwvcHJlPgorPGRpdj48L2Rpdj4KKzxzcGFuPjwvc3Bh
bj4KKzxiPnRlc3Q8L2I+Cis8YnI+Cis8c2NyaXB0PgogaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKIAlsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CiBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGVudCIpLmZpcnN0Q2hpbGQubm9kZVZhbHVlID0gZG9jdW1lbnQu
ZG9jdW1lbnRFbGVtZW50LmlubmVySFRNTDsKLTwvU0NSSVBUPjwvQk9EWT4KKzwvc2NyaXB0Pjwv
Ym9keT4KIHRlc3QgCiAKSW5kZXg6IFdlYkNvcmUvZWRpdGluZy9tYXJrdXAuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvZWRpdGluZy9tYXJrdXAuY3BwCShyZXZpc2lvbiAxNDM3NikKKysrIFdl
YkNvcmUvZWRpdGluZy9tYXJrdXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTEsNyArMTkxLDcg
QEAKICAgICAgICAgY2FzZSBOb2RlOjpQUk9DRVNTSU5HX0lOU1RSVUNUSU9OX05PREU6CiAgICAg
ICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgUHJvY2Vzc2luZ0luc3RydWN0aW9uICo+
KG5vZGUpLT50b1N0cmluZygpLmRlcHJlY2F0ZWRTdHJpbmcoKTsKICAgICAgICAgY2FzZSBOb2Rl
OjpFTEVNRU5UX05PREU6IHsKLSAgICAgICAgICAgIERlcHJlY2F0ZWRTdHJpbmcgbWFya3VwID0g
UUNoYXIoJzwnKSArIG5vZGUtPm5vZGVOYW1lKCkuZGVwcmVjYXRlZFN0cmluZygpOworICAgICAg
ICAgICAgRGVwcmVjYXRlZFN0cmluZyBtYXJrdXAgPSBRQ2hhcignPCcpICsgbm9kZS0+bG9jYWxO
YW1lKCkuZGVwcmVjYXRlZFN0cmluZygpOwogICAgICAgICAgICAgY29uc3QgRWxlbWVudCogZWwg
PSBzdGF0aWNfY2FzdDxjb25zdCBFbGVtZW50Kj4obm9kZSk7CiAgICAgICAgICAgICBTdHJpbmcg
YWRkaXRpb25hbFN0eWxlOwogICAgICAgICAgICAgaWYgKGRlZmF1bHRTdHlsZSAmJiBlbC0+aXNI
VE1MRWxlbWVudCgpKSB7CkBAIC0yNzQsNyArMjc0LDcgQEAKIHN0YXRpYyBEZXByZWNhdGVkU3Ry
aW5nIGVuZE1hcmt1cChjb25zdCBOb2RlICpub2RlKQogewogICAgIGlmIChub2RlLT5pc0VsZW1l
bnROb2RlKCkgJiYgIXNob3VsZFNlbGZDbG9zZShub2RlKSAmJiAhZG9lc0hUTUxGb3JiaWRFbmRU
YWcobm9kZSkpCi0gICAgICAgIHJldHVybiAiPC8iICsgbm9kZS0+bm9kZU5hbWUoKS5kZXByZWNh
dGVkU3RyaW5nKCkgKyAiPiI7CisgICAgICAgIHJldHVybiAiPC8iICsgbm9kZS0+bG9jYWxOYW1l
KCkuZGVwcmVjYXRlZFN0cmluZygpICsgIj4iOwogICAgIHJldHVybiAiIjsKIH0KIApJbmRleDog
V2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlz
aW9uIDE0Mzc4KQorKysgV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwxNyBAQAorMjAwNi0wNS0xNSAgTGV2aSBXZWludHJhdWIgIDxsd2VpbnRyYXViQGFwcGxlLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRw
Oi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dpP2lkPTgzOTMKKyAgICAgICAg
PGJyPnMgY3JlYXRlZCBieSBjcmVhdGVNYXJrdXAgYXJlbid0IHZhbGlkIHhodG1sOgorICAgICAg
ICBTd2l0Y2hlZCByZWZlcmVuY2VzIHRvIG5vZGVOYW1lICh3aGljaCBvdXRwdXRzIHVwcGVyIGNh
c2UgdGFnIG5hbWVzKQorICAgICAgICB0byBsb2NhbE5hbWUuIEluIHByb3Blcmx5IHdyaXR0ZW4g
eGh0bWwsIGNyZWF0ZU1hcmt1cCBhbHJlYWR5IG91dHB1dHMKKyAgICAgICAgdmFsaWQgPGJyPnMu
CisKKyAgICAgICAgKiBlZGl0aW5nL21hcmt1cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzdGFy
dE1hcmt1cCk6CisgICAgICAgIChXZWJDb3JlOjplbmRNYXJrdXApOgorCiAyMDA2LTA1LTE1ICBB
bmRlcnMgQ2FybHNzb24gIDxhY2FybHNzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IEVyaWMuCg==
</data>
<flag name="review"
          id="2387"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>8461</attachid>
            <date>2006-05-22 14:12:04 -0700</date>
            <delta_ts>2006-05-23 02:43:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>br-close.txt</filename>
            <type>text/plain</type>
            <size>2697</size>
            <attacher name="Levi Weintraub">lweintraub</attacher>
            
              <data encoding="base64">SW5kZXg6IGRvbS9FbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZG9tL0VsZW1lbnQuaAkocmV2aXNp
b24gMTQ1MTUpCisrKyBkb20vRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTcsNiArMTE3
LDggQEAKICAgICB2aXJ0dWFsIHZvaWQgaW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKTsKICAgICB2aXJ0
dWFsIHZvaWQgcmVtb3ZlZEZyb21Eb2N1bWVudCgpOwogCisgICAgU3RyaW5nIG5vZGVOYW1lUHJl
c2VydmluZ0Nhc2UoKSBjb25zdDsKKwogICAgIC8vIGNvbnZlbmllbmNlIG1ldGhvZHMgd2hpY2gg
aWdub3JlIGV4Y2VwdGlvbnMKICAgICB2b2lkIHNldEF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWRO
YW1lJiBuYW1lLCBjb25zdCBTdHJpbmcmIHZhbHVlKTsKIApJbmRleDogZG9tL0VsZW1lbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIGRvbS9FbGVtZW50LmNwcAkocmV2aXNpb24gMTQ1MTUpCisrKyBkb20v
RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4MSw2ICszODEsMTEgQEAKICAgICByZXR1
cm4gbV90YWdOYW1lLnRvU3RyaW5nKCk7CiB9CiAKK1N0cmluZyBFbGVtZW50Ojpub2RlTmFtZVBy
ZXNlcnZpbmdDYXNlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV90YWdOYW1lLnRvU3RyaW5nKCk7
Cit9CisKIHZvaWQgRWxlbWVudDo6c2V0UHJlZml4KGNvbnN0IEF0b21pY1N0cmluZyAmX3ByZWZp
eCwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgY2hlY2tTZXRQcmVmaXgoX3ByZWZpeCwgZWMp
OwpJbmRleDogZWRpdGluZy9tYXJrdXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGVkaXRpbmcvbWFya3Vw
LmNwcAkocmV2aXNpb24gMTQ1MTYpCisrKyBlZGl0aW5nL21hcmt1cC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTE5Myw3ICsxOTMsNyBAQAogICAgICAgICBjYXNlIE5vZGU6OkVMRU1FTlRfTk9ERTog
ewogICAgICAgICAgICAgRGVwcmVjYXRlZFN0cmluZyBtYXJrdXAgPSBRQ2hhcignPCcpOwogICAg
ICAgICAgICAgY29uc3QgRWxlbWVudCogZWwgPSBzdGF0aWNfY2FzdDxjb25zdCBFbGVtZW50Kj4o
bm9kZSk7Ci0gICAgICAgICAgICBtYXJrdXAgKz0gZWwtPkVsZW1lbnQ6Om5vZGVOYW1lKCkuZGVw
cmVjYXRlZFN0cmluZygpOworICAgICAgICAgICAgbWFya3VwICs9IGVsLT5ub2RlTmFtZVByZXNl
cnZpbmdDYXNlKCkuZGVwcmVjYXRlZFN0cmluZygpOwogICAgICAgICAgICAgU3RyaW5nIGFkZGl0
aW9uYWxTdHlsZTsKICAgICAgICAgICAgIGlmIChkZWZhdWx0U3R5bGUgJiYgZWwtPmlzSFRNTEVs
ZW1lbnQoKSkgewogICAgICAgICAgICAgICAgIFJlZlB0cjxDU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb24+IGNvbXB1dGVkU3R5bGUgPSBQb3NpdGlvbihjb25zdF9jYXN0PEVsZW1lbnQqPihlbCks
IDApLmNvbXB1dGVkU3R5bGUoKTsKQEAgLTI3NSw3ICsyNzUsNyBAQAogc3RhdGljIERlcHJlY2F0
ZWRTdHJpbmcgZW5kTWFya3VwKGNvbnN0IE5vZGUgKm5vZGUpCiB7CiAgICAgaWYgKG5vZGUtPmlz
RWxlbWVudE5vZGUoKSAmJiAhc2hvdWxkU2VsZkNsb3NlKG5vZGUpICYmICFkb2VzSFRNTEZvcmJp
ZEVuZFRhZyhub2RlKSkKLSAgICAgICAgcmV0dXJuICI8LyIgKyBzdGF0aWNfY2FzdDxjb25zdCBF
bGVtZW50Kj4obm9kZSktPkVsZW1lbnQ6Om5vZGVOYW1lKCkuZGVwcmVjYXRlZFN0cmluZygpICsg
Ij4iOworICAgICAgICByZXR1cm4gIjwvIiArIHN0YXRpY19jYXN0PGNvbnN0IEVsZW1lbnQqPihu
b2RlKS0+bm9kZU5hbWVQcmVzZXJ2aW5nQ2FzZSgpLmRlcHJlY2F0ZWRTdHJpbmcoKSArICI+IjsK
ICAgICByZXR1cm4gIiI7CiB9CiAKSW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFu
Z2VMb2cJKHJldmlzaW9uIDE0NTIwKQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDUgKzEsMTkgQEAKIDIwMDYtMDUtMjIgIExldmkgV2VpbnRyYXViICA8bHdlaW50cmF1YkBhcHBs
ZS5jb20+CiAKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
Q2xlYW5lZCB1cCBjaGFuZ2VzIHRvIG1hcmt1cCBieSBhZGRpbmcgdGhlIG5vbi12aXJ0dWFsCisg
ICAgICAgIG5vZGVOYW1lUHJlc2VydmluZ0Nhc2UgYWNjZXNzb3IgZnVuY3Rpb24uCisKKyAgICAg
ICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojpub2RlTmFt
ZVByZXNlcnZpbmdDYXNlKToKKyAgICAgICAgKiBkb20vRWxlbWVudC5oOgorICAgICAgICAqIGVk
aXRpbmcvbWFya3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnN0YXJ0TWFya3VwKToKKyAgICAg
ICAgKFdlYkNvcmU6OmVuZE1hcmt1cCk6CisKKzIwMDYtMDUtMjIgIExldmkgV2VpbnRyYXViICA8
bHdlaW50cmF1YkBhcHBsZS5jb20+CisKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYy4KICAgICAg
ICAgCiAgICAgICAgIC0gRml4IGZvciBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hv
d19idWcuY2dpP2lkPTgzOTMK
</data>
<flag name="review"
          id="2402"
          type_id="1"
          status="+"
          setter="hyatt"
    />
          </attachment>
      

    </bug>

</bugzilla>