<?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>7245</bug_id>
          
          <creation_ts>2006-02-14 03:45:54 -0800</creation_ts>
          <short_desc>caret does not display at the end of some lines in contenteditable divs</short_desc>
          <delta_ts>2006-02-24 19:01:00 -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>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>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Graham Dennis">Graham.Dennis</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dwood</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>32459</commentid>
    <comment_count>0</comment_count>
    <who name="Graham Dennis">Graham.Dennis</who>
    <bug_when>2006-02-14 03:45:54 -0800</bug_when>
    <thetext>When arrowing to the end of a line in a contentEditable div (that isn&apos;t the last line), the caret moves from before the penultimate character on a line to before the start of the first character on the next line. Entering text replaces the space character between the words on the separate lines as though the caret was now a selection encompassing the space between the words.

Using the mouse it is possible to place the cursor at the end of a line (it displays correctly), but the behaviour on entering text is the same as when using the arrow keys.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>32460</commentid>
    <comment_count>1</comment_count>
    <who name="Graham Dennis">Graham.Dennis</who>
    <bug_when>2006-02-14 03:50:22 -0800</bug_when>
    <thetext>The testcase for #6933 can also be used as a testcase for this bug.
http://bugzilla.opendarwin.org/attachment.cgi?id=6105</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>32843</commentid>
    <comment_count>2</comment_count>
    <who name="Joost de Valk (AlthA)">joost</who>
    <bug_when>2006-02-15 16:29:27 -0800</bug_when>
    <thetext>In the latest nightly from http://nightly.webkit.org/ this works good for me it seems.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>32914</commentid>
    <comment_count>3</comment_count>
    <who name="Graham Dennis">Graham.Dennis</who>
    <bug_when>2006-02-15 22:04:33 -0800</bug_when>
    <thetext>I have just verified that the bug is still present in the latest nightly. Although you can get the caret to the end of the line using CMD+Right (or by clicking), positioning the caret before the last character on a line, and pressing &apos;right&apos; does still have the same effect. Nothing has changed since Safari in 10.4.5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33125</commentid>
    <comment_count>4</comment_count>
      <attachid>6564</attachid>
    <who name="Graham Dennis">Graham.Dennis</who>
    <bug_when>2006-02-17 06:36:39 -0800</bug_when>
    <thetext>Created attachment 6564
patch

This problem is caused by the contentEditable styling not being applied for elements which do not have a renderer when setContentEditable() is called on the root element. This bug is not present in Mail.app as the HTML body is set editable programmatically once the renderers exist. The check is in applyEditingStyleToElement, and is used to check that the element that the editing style is being applied to has a renderer that is a BlockFlow. However, this check doesn&apos;t make sense (to me) as although the root contentEditable element may not be a BlockFlow, elements that inherit the style from it may be.
My solution is to simply remove the BlockFlow check (and the renderer check).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33163</commentid>
    <comment_count>5</comment_count>
    <who name="Justin Garcia">justin.garcia</who>
    <bug_when>2006-02-17 14:35:51 -0800</bug_when>
    <thetext>Looks good.  Graham: how did you test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33201</commentid>
    <comment_count>6</comment_count>
      <attachid>6578</attachid>
    <who name="Graham Dennis">Graham.Dennis</who>
    <bug_when>2006-02-17 15:55:12 -0800</bug_when>
    <thetext>Created attachment 6578
automated testcase

Automated testcase. In current ToT, the space between &apos;div&apos; and &apos;editable&apos; disappears upon inserting an &apos;x&apos;, giving &apos;divxis&apos;. With the patch, the character &apos;x&apos; is inserted before &apos;is&apos;. This gives &apos;div xis&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33202</commentid>
    <comment_count>7</comment_count>
      <attachid>6579</attachid>
    <who name="Graham Dennis">Graham.Dennis</who>
    <bug_when>2006-02-17 16:07:09 -0800</bug_when>
    <thetext>Created attachment 6579
fixed testcase

Test is now self-documenting</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33203</commentid>
    <comment_count>8</comment_count>
      <attachid>6580</attachid>
    <who name="Graham Dennis">Graham.Dennis</who>
    <bug_when>2006-02-17 16:09:00 -0800</bug_when>
    <thetext>Created attachment 6580
fixed (x2) testcase

I forgot to remove unnecessary javascript</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33206</commentid>
    <comment_count>9</comment_count>
      <attachid>6564</attachid>
    <who name="Justin Garcia">justin.garcia</who>
    <bug_when>2006-02-17 16:26:47 -0800</bug_when>
    <thetext>Comment on attachment 6564
patch

I&apos;m r-&apos;ing this until Graham and I go through all of the layout test changes that this change causes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33212</commentid>
    <comment_count>10</comment_count>
    <who name="Justin Garcia">justin.garcia</who>
    <bug_when>2006-02-17 17:19:37 -0800</bug_when>
    <thetext>This patch is wrong.  For elements defined in the source to be contenteditable, applyEditingStyleToElement is called at parse time before style has been resolved.  At that time, currentStyle will be empty, regardless of what style the element may eventually have.  So, instead of being appended to style on the element, the editing style will blow away style on the element.  It seems to me that this is something that should happen when a contenteditable element is attached. </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33301</commentid>
    <comment_count>11</comment_count>
      <attachid>6592</attachid>
    <who name="Graham Dennis">Graham.Dennis</who>
    <bug_when>2006-02-18 15:33:21 -0800</bug_when>
    <thetext>Created attachment 6592
patch 2

New patch.

In this patch, instead of modifying the inlineStyleDecl of an element, I&apos;ve modified setContentEditable (called by parseMappedAttribute) to add in the editing CSS properties. I&apos;ve modified Frame::applyEditingStyleToElement (and removeEditingStyle) to simply call setContentEditable on the element. This way the inline style doesn&apos;t get blown away. Also, this way, the editing style can be overridden by the inline style of the element.

This patch breaks many layout tests as it adds a space to the end of each line in a contentEditable div. The vast majority of the problems are simply adding a space and increasing the width of the rendered element (or its parents).
However, for two layout tests, this is not the case:
fast/overflow/overflow-focus-ring
fast/text/justified-text-rect

For the overflow-focus-ring test, the periods change from being on a single line to being on many lines. This is caused by the &quot;word-wrap: break-word&quot; style.

For the justified-text-rect test, the test checks that text is justified correctly, however &quot;-khtml-nbsp-mode: space&quot; interferes with this. To be honest, I don&apos;t know what &quot;-khtml-nbsp-mode: space&quot; does and whether the layout test needs to be changed, the patch, or something else.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33636</commentid>
    <comment_count>12</comment_count>
    <who name="Justin Garcia">justin.garcia</who>
    <bug_when>2006-02-21 13:47:03 -0800</bug_when>
    <thetext>Graham: why do you no longer remove the editing style when contenteditable is set to false?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33686</commentid>
    <comment_count>13</comment_count>
      <attachid>6662</attachid>
    <who name="Graham Dennis">Graham.Dennis</who>
    <bug_when>2006-02-22 04:14:00 -0800</bug_when>
    <thetext>Created attachment 6662
patch 3

There was no reason why I wasn&apos;t removing the editing style when the contentEditable attribute was set to false. I&apos;ve fixed that in this patch.
Previously, the editing style was forcibly removed, overriding any style that may have been applied (e.g. if a style of &quot;word-wrap: break-word&quot; was set on an element in the HTML, it would be removed if a contentEditable attribute was removed). In this patch, only the mapped attribute is removed, which means that if the element has an inline style of &quot;word-wrap: break-word&quot; it won&apos;t be overridden back to whatever the default is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33878</commentid>
    <comment_count>14</comment_count>
      <attachid>6662</attachid>
    <who name="Justin Garcia">justin.garcia</who>
    <bug_when>2006-02-24 14:11:14 -0800</bug_when>
    <thetext>Comment on attachment 6662
patch 3

r=me, I&apos;ll land this.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>6564</attachid>
            <date>2006-02-17 06:36:39 -0800</date>
            <delta_ts>2006-02-18 15:33:21 -0800</delta_ts>
            <desc>patch</desc>
            <filename>NoSpaceAtLineEnd.diff</filename>
            <type>text/plain</type>
            <size>629</size>
            <attacher name="Graham Dennis">Graham.Dennis</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvcGFnZS9GcmFtZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdl
L0ZyYW1lLmNwcAkocmV2aXNpb24gMTI4NjUpCisrKyBXZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yNTQ5LDEwICsyNTQ5LDYgQEAgdm9pZCBGcmFtZTo6YXBwbHlFZGl0
aW5nU3R5bGVUb0VsZW1lbnQoRQogewogICAgIGlmICghZWxlbWVudCB8fCAhZWxlbWVudC0+aXNI
VE1MRWxlbWVudCgpKQogICAgICAgICByZXR1cm47Ci0gICAgICAgIAotICAgIFJlbmRlck9iamVj
dCAqcmVuZGVyZXIgPSBlbGVtZW50LT5yZW5kZXJlcigpOwotICAgIGlmICghcmVuZGVyZXIgfHwg
IXJlbmRlcmVyLT5pc0Jsb2NrRmxvdygpKQotICAgICAgICByZXR1cm47CiAgICAgCiAgICAgQ1NT
TXV0YWJsZVN0eWxlRGVjbGFyYXRpb25JbXBsICpjdXJyZW50U3R5bGUgPSBzdGF0aWNfY2FzdDxI
VE1MRWxlbWVudEltcGwgKj4oZWxlbWVudCktPmdldElubGluZVN0eWxlRGVjbCgpOwogICAgIENT
U011dGFibGVTdHlsZURlY2xhcmF0aW9uSW1wbCAqbWVyZ2VTdHlsZSA9IGVkaXRpbmdTdHlsZSgp
Owo=
</data>
<flag name="review"
          id="1638"
          type_id="1"
          status="-"
          setter="justin.garcia"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>6578</attachid>
            <date>2006-02-17 15:55:12 -0800</date>
            <delta_ts>2006-02-17 16:07:09 -0800</delta_ts>
            <desc>automated testcase</desc>
            <filename>insert-text-at-end-of-line.html</filename>
            <type>text/html</type>
            <size>685</size>
            <attacher name="Graham Dennis">Graham.Dennis</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8c3R5bGU+Ci5lZGl0aW5nIHsgCiAgICBib3JkZXI6IDJweCBzb2xpZCBy
ZWQ7IAogICAgcGFkZGluZzogMTJweDsgCiAgICBmb250LXNpemU6IDI0cHg7IAp9Cjwvc3R5bGU+
CjxzY3JpcHQgc3JjPS4uL2VkaXRpbmcuanMgbGFuZ3VhZ2U9IkphdmFTY3JpcHQiIHR5cGU9InRl
eHQvSmF2YVNjcmlwdCIgPjwvc2NyaXB0PgoKPHNjcmlwdD4KZnVuY3Rpb24gcnVuVGVzdCgpIHsK
ICAgIHZhciBzID0gd2luZG93LmdldFNlbGVjdGlvbigpOwogICAgdmFyIGUgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgidGVzdCIpOwogICAgCiAgICBlLmZvY3VzKCk7CiAgICBzLnNldEJhc2VB
bmRFeHRlbnQoZSwgMCwgZSwgMCk7CiAgICB0eXBlQ2hhcmFjdGVyQ29tbWFuZCgpOwp9Cjwvc2Ny
aXB0PgoKPGJvZHk+CjxkaXYgc3R5bGU9IndpZHRoOiAyMDBweCI+CjxkaXYgY29udGVudEVkaXRh
YmxlPSJ0cnVlIiBpZD0icm9vdCIgY2xhc3M9ImVkaXRpbmciPgpUaGlzIGRpdiBpcyBlZGl0YWJs
ZS4gVGhpcyBkaXYgPHNwYW4gaWQ9InRlc3QiPmlzPC9zcGFuPiBlZGl0YWJsZS4gVGhpcyBkaXYg
aXMgZWRpdGFibGUuIFRoaXMgZGl2IGlzIGVkaXRhYmxlLiBUaGlzIGRpdiBpcyBlZGl0YWJsZS4K
PC9kaXY+CjwvZGl2PgoKPHNjcmlwdD5ydW5UZXN0KCk7PC9zY3JpcHQ+CjwvYm9keT4KPC9odG1s
Pg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>6579</attachid>
            <date>2006-02-17 16:07:09 -0800</date>
            <delta_ts>2006-02-17 16:09:00 -0800</delta_ts>
            <desc>fixed testcase</desc>
            <filename>insert-text-at-end-of-line.html</filename>
            <type>text/html</type>
            <size>932</size>
            <attacher name="Graham Dennis">Graham.Dennis</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8c3R5bGU+Ci5lZGl0aW5nIHsgCiAgICBib3JkZXI6IDJweCBzb2xpZCBy
ZWQ7IAogICAgcGFkZGluZzogMTJweDsgCiAgICBmb250LXNpemU6IDI0cHg7IAp9Cjwvc3R5bGU+
CjxzY3JpcHQgc3JjPS4uL2VkaXRpbmcuanMgbGFuZ3VhZ2U9IkphdmFTY3JpcHQiIHR5cGU9InRl
eHQvSmF2YVNjcmlwdCIgPjwvc2NyaXB0PgoKPHNjcmlwdD4KZnVuY3Rpb24gZWRpdGluZ1Rlc3Qo
KSB7CiAgICB2YXIgcyA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTsKICAgIHZhciBlID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKTsKICAgIAogICAgZS5mb2N1cygpOwogICAgcy5zZXRC
YXNlQW5kRXh0ZW50KGUsIDAsIGUsIDApOwogICAgdHlwZUNoYXJhY3RlckNvbW1hbmQoKTsKfQo8
L3NjcmlwdD4KPHRpdGxlPkluc2VydGluZyB0ZXh0IGF0IHRoZSBlbmQgb2YgYSBsaW5lPC90aXRs
ZT4KPC9oZWFkPgoKPGJvZHk+CjxwPlRoaXMgdGVzdHMgdGhhdCB3aGl0ZXNwYWNlIGJlaGF2ZXMg
Y29ycmVjdGx5IGF0IHRoZSBlbmQgb2YgbGluZXMgdGhhdCBhcmUgd29yZC13cmFwcGVkLiBQcmV2
aW91c2x5LCBpbnNlcnRpbmcgdGV4dCBhdCB0aGUgZW5kIG9mIGEgd29yZC13cmFwcGVkIGxpbmUg
d291bGQgY2F1c2UgdGhlIHNwYWNlIHRvIGJlIHJlcGxhY2VkIHdpdGggdGhlIGluc2VydGVkIHRl
eHQuCjxkaXYgc3R5bGU9IndpZHRoOiAyMDBweCI+CjxkaXYgY29udGVudEVkaXRhYmxlPSJ0cnVl
IiBpZD0icm9vdCIgY2xhc3M9ImVkaXRpbmciPgpUaGlzIGlzIGFuIGVkaXRhYmxlIHJlZ2lvbiA8
c3BhbiBpZD0idGVzdCI+d2hlcmU8L3NwYW4+IHRoZSB0ZXh0IGlzIHdyYXBwZWQgYXQgdGhlIGVu
ZCBvZiBsaW5lcy4KPC9kaXY+CjwvZGl2PgoKPHNjcmlwdD5ydW5FZGl0aW5nVGVzdCgpOzwvc2Ny
aXB0Pgo8L2JvZHk+CjwvaHRtbD4=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>6580</attachid>
            <date>2006-02-17 16:09:00 -0800</date>
            <delta_ts>2006-02-17 16:09:00 -0800</delta_ts>
            <desc>fixed (x2) testcase</desc>
            <filename>insert-text-at-end-of-line.html</filename>
            <type>text/html</type>
            <size>796</size>
            <attacher name="Graham Dennis">Graham.Dennis</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8c3R5bGU+Ci5lZGl0aW5nIHsgCiAgICBib3JkZXI6IDJweCBzb2xpZCBy
ZWQ7IAogICAgcGFkZGluZzogMTJweDsgCiAgICBmb250LXNpemU6IDI0cHg7IAp9Cjwvc3R5bGU+
CjxzY3JpcHQgc3JjPS4uL2VkaXRpbmcuanMgbGFuZ3VhZ2U9IkphdmFTY3JpcHQiIHR5cGU9InRl
eHQvSmF2YVNjcmlwdCIgPjwvc2NyaXB0PgoKPHNjcmlwdD4KZnVuY3Rpb24gZWRpdGluZ1Rlc3Qo
KSB7CiAgICB0eXBlQ2hhcmFjdGVyQ29tbWFuZCgpOwp9Cjwvc2NyaXB0Pgo8dGl0bGU+SW5zZXJ0
aW5nIHRleHQgYXQgdGhlIGVuZCBvZiBhIGxpbmU8L3RpdGxlPgo8L2hlYWQ+Cgo8Ym9keT4KPHA+
VGhpcyB0ZXN0cyB0aGF0IHdoaXRlc3BhY2UgYmVoYXZlcyBjb3JyZWN0bHkgYXQgdGhlIGVuZCBv
ZiBsaW5lcyB0aGF0IGFyZSB3b3JkLXdyYXBwZWQuIFByZXZpb3VzbHksIGluc2VydGluZyB0ZXh0
IGF0IHRoZSBlbmQgb2YgYSB3b3JkLXdyYXBwZWQgbGluZSB3b3VsZCBjYXVzZSB0aGUgc3BhY2Ug
dG8gYmUgcmVwbGFjZWQgd2l0aCB0aGUgaW5zZXJ0ZWQgdGV4dC4KPGRpdiBzdHlsZT0id2lkdGg6
IDIwMHB4Ij4KPGRpdiBjb250ZW50RWRpdGFibGU9InRydWUiIGlkPSJyb290IiBjbGFzcz0iZWRp
dGluZyI+ClRoaXMgaXMgYW4gZWRpdGFibGUgcmVnaW9uIDxzcGFuIGlkPSJ0ZXN0Ij53aGVyZTwv
c3Bhbj4gdGhlIHRleHQgaXMgd3JhcHBlZCBhdCB0aGUgZW5kIG9mIGxpbmVzLgo8L2Rpdj4KPC9k
aXY+Cgo8c2NyaXB0PnJ1bkVkaXRpbmdUZXN0KCk7PC9zY3JpcHQ+CjwvYm9keT4KPC9odG1sPg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>6592</attachid>
            <date>2006-02-18 15:33:21 -0800</date>
            <delta_ts>2006-02-22 04:14:00 -0800</delta_ts>
            <desc>patch 2</desc>
            <filename>NoSpaceAtLineEndV2.diff</filename>
            <type>text/plain</type>
            <size>3711</size>
            <attacher name="Graham Dennis">Graham.Dennis</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUva2h0bWwvaHRtbC9IVE1MRWxlbWVudEltcGwuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUva2h0bWwvaHRtbC9IVE1MRWxlbWVudEltcGwuY3BwCShyZXZpc2lvbiAxMjg2
NSkKKysrIFdlYkNvcmUva2h0bWwvaHRtbC9IVE1MRWxlbWVudEltcGwuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC00NzEsMjAgKzQ3MSwxNiBAQCBET01TdHJpbmcgSFRNTEVsZW1lbnRJbXBsOjpjb250
ZW50RWRpdGFiCiAKIHZvaWQgSFRNTEVsZW1lbnRJbXBsOjpzZXRDb250ZW50RWRpdGFibGUoTWFw
cGVkQXR0cmlidXRlSW1wbCogYXR0cikgCiB7Ci0gICAgRnJhbWUgKmZyYW1lID0gZ2V0RG9jdW1l
bnQoKS0+ZnJhbWUoKTsKICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGVuYWJsZWQgPSBhdHRyLT52
YWx1ZSgpOwogICAgIGlmIChlbmFibGVkLmlzRW1wdHkoKSB8fCBlcXVhbElnbm9yaW5nQ2FzZShl
bmFibGVkLCAidHJ1ZSIpKSB7CiAgICAgICAgIGFkZENTU1Byb3BlcnR5KGF0dHIsIENTU19QUk9Q
X19LSFRNTF9VU0VSX01PRElGWSwgQ1NTX1ZBTF9SRUFEX1dSSVRFKTsKLSAgICAgICAgaWYgKGZy
YW1lKQotICAgICAgICAgICAgZnJhbWUtPmFwcGx5RWRpdGluZ1N0eWxlVG9FbGVtZW50KHRoaXMp
OyAgICAKKyAgICAgICAgYWRkQ1NTUHJvcGVydHkoYXR0ciwgQ1NTX1BST1BfV09SRF9XUkFQLCBD
U1NfVkFMX0JSRUFLX1dPUkQpOworICAgICAgICBhZGRDU1NQcm9wZXJ0eShhdHRyLCBDU1NfUFJP
UF9fS0hUTUxfTkJTUF9NT0RFLCBDU1NfVkFMX1NQQUNFKTsKKyAgICAgICAgYWRkQ1NTUHJvcGVy
dHkoYXR0ciwgQ1NTX1BST1BfX0tIVE1MX0xJTkVfQlJFQUssIENTU19WQUxfQUZURVJfV0hJVEVf
U1BBQ0UpOwogICAgIH0gZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UoZW5hYmxlZCwgImZhbHNl
IikpIHsKICAgICAgICAgYWRkQ1NTUHJvcGVydHkoYXR0ciwgQ1NTX1BST1BfX0tIVE1MX1VTRVJf
TU9ESUZZLCBDU1NfVkFMX1JFQURfT05MWSk7Ci0gICAgICAgIGlmIChmcmFtZSkKLSAgICAgICAg
ICAgIGZyYW1lLT5yZW1vdmVFZGl0aW5nU3R5bGVGcm9tRWxlbWVudCh0aGlzKTsgICAgCiAgICAg
fSBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZShlbmFibGVkLCAiaW5oZXJpdCIpKSB7CiAgICAg
ICAgIGFkZENTU1Byb3BlcnR5KGF0dHIsIENTU19QUk9QX19LSFRNTF9VU0VSX01PRElGWSwgQ1NT
X1ZBTF9JTkhFUklUKTsKLSAgICAgICAgaWYgKGZyYW1lKQotICAgICAgICAgICAgZnJhbWUtPnJl
bW92ZUVkaXRpbmdTdHlsZUZyb21FbGVtZW50KHRoaXMpOyAgICAKICAgICB9CiB9CiAKSW5kZXg6
IFdlYkNvcmUvcGFnZS9GcmFtZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0ZyYW1l
LmNwcAkocmV2aXNpb24gMTI4NjUpCisrKyBXZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yNTEwLDE3ICsyNTEwLDYgQEAgQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9u
SW1wbCAqRnJhbWU6OgogICAgIHJldHVybiBuZXcgQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9u
SW1wbChzdHlsZUVsZW1lbnQpOwogfQogCi1zdGF0aWMgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRp
b25JbXBsICplZGl0aW5nU3R5bGUoKQotewotICAgIHN0YXRpYyBDU1NNdXRhYmxlU3R5bGVEZWNs
YXJhdGlvbkltcGwgKmVkaXRpbmdTdHlsZSA9IDA7Ci0gICAgaWYgKCFlZGl0aW5nU3R5bGUpIHsK
LSAgICAgICAgZWRpdGluZ1N0eWxlID0gbmV3IENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uSW1w
bDsKLSAgICAgICAgaW50IGV4Y2VwdGlvbkNvZGU7Ci0gICAgICAgIGVkaXRpbmdTdHlsZS0+c2V0
Q3NzVGV4dCgid29yZC13cmFwOiBicmVhay13b3JkOyAta2h0bWwtbmJzcC1tb2RlOiBzcGFjZTsg
LWtodG1sLWxpbmUtYnJlYWs6IGFmdGVyLXdoaXRlLXNwYWNlOyIsIGV4Y2VwdGlvbkNvZGUpOwot
ICAgIH0KLSAgICByZXR1cm4gZWRpdGluZ1N0eWxlOwotfQotCiB2b2lkIEZyYW1lOjphcHBseUVk
aXRpbmdTdHlsZVRvQm9keUVsZW1lbnQoKSBjb25zdAogewogICAgIGlmICghZC0+bV9kb2MpCkBA
IC0yNTUwLDM2ICsyNTM5LDE1IEBAIHZvaWQgRnJhbWU6OmFwcGx5RWRpdGluZ1N0eWxlVG9FbGVt
ZW50KEUKICAgICBpZiAoIWVsZW1lbnQgfHwgIWVsZW1lbnQtPmlzSFRNTEVsZW1lbnQoKSkKICAg
ICAgICAgcmV0dXJuOwogICAgICAgICAKLSAgICBSZW5kZXJPYmplY3QgKnJlbmRlcmVyID0gZWxl
bWVudC0+cmVuZGVyZXIoKTsKLSAgICBpZiAoIXJlbmRlcmVyIHx8ICFyZW5kZXJlci0+aXNCbG9j
a0Zsb3coKSkKLSAgICAgICAgcmV0dXJuOwotICAgIAotICAgIENTU011dGFibGVTdHlsZURlY2xh
cmF0aW9uSW1wbCAqY3VycmVudFN0eWxlID0gc3RhdGljX2Nhc3Q8SFRNTEVsZW1lbnRJbXBsICo+
KGVsZW1lbnQpLT5nZXRJbmxpbmVTdHlsZURlY2woKTsKLSAgICBDU1NNdXRhYmxlU3R5bGVEZWNs
YXJhdGlvbkltcGwgKm1lcmdlU3R5bGUgPSBlZGl0aW5nU3R5bGUoKTsKLSAgICBpZiAobWVyZ2VT
dHlsZSkgewotICAgICAgICBjdXJyZW50U3R5bGUtPm1lcmdlKG1lcmdlU3R5bGUpOwotICAgICAg
ICBlbGVtZW50LT5zZXRBdHRyaWJ1dGUoc3R5bGVBdHRyLCBjdXJyZW50U3R5bGUtPmNzc1RleHQo
KSk7Ci0gICAgfQorCXN0YXRpY19jYXN0PEhUTUxFbGVtZW50SW1wbCAqPihlbGVtZW50KS0+c2V0
Q29udGVudEVkaXRhYmxlKCJ0cnVlIik7CiB9CiAKIHZvaWQgRnJhbWU6OnJlbW92ZUVkaXRpbmdT
dHlsZUZyb21FbGVtZW50KEVsZW1lbnRJbXBsICplbGVtZW50KSBjb25zdAogewogICAgIGlmICgh
ZWxlbWVudCB8fCAhZWxlbWVudC0+aXNIVE1MRWxlbWVudCgpKQogICAgICAgICByZXR1cm47Ci0g
ICAgICAgIAotICAgIFJlbmRlck9iamVjdCAqcmVuZGVyZXIgPSBlbGVtZW50LT5yZW5kZXJlcigp
OwotICAgIGlmICghcmVuZGVyZXIgfHwgIXJlbmRlcmVyLT5pc0Jsb2NrRmxvdygpKQotICAgICAg
ICByZXR1cm47Ci0gICAgCi0gICAgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb25JbXBsICpjdXJy
ZW50U3R5bGUgPSBzdGF0aWNfY2FzdDxIVE1MRWxlbWVudEltcGwgKj4oZWxlbWVudCktPmdldElu
bGluZVN0eWxlRGVjbCgpOwotICAgIGJvb2wgY2hhbmdlZCA9IGZhbHNlOwotICAgIGNoYW5nZWQg
fD0gIWN1cnJlbnRTdHlsZS0+cmVtb3ZlUHJvcGVydHkoQ1NTX1BST1BfV09SRF9XUkFQLCBmYWxz
ZSkuaXNOdWxsKCk7Ci0gICAgY2hhbmdlZCB8PSAhY3VycmVudFN0eWxlLT5yZW1vdmVQcm9wZXJ0
eShDU1NfUFJPUF9fS0hUTUxfTkJTUF9NT0RFLCBmYWxzZSkuaXNOdWxsKCk7Ci0gICAgY2hhbmdl
ZCB8PSAhY3VycmVudFN0eWxlLT5yZW1vdmVQcm9wZXJ0eShDU1NfUFJPUF9fS0hUTUxfTElORV9C
UkVBSywgZmFsc2UpLmlzTnVsbCgpOwotICAgIGlmIChjaGFuZ2VkKQotICAgICAgICBjdXJyZW50
U3R5bGUtPnNldENoYW5nZWQoKTsKIAotICAgIGVsZW1lbnQtPnNldEF0dHJpYnV0ZShzdHlsZUF0
dHIsIGN1cnJlbnRTdHlsZS0+Y3NzVGV4dCgpKTsKKyAgICBzdGF0aWNfY2FzdDxIVE1MRWxlbWVu
dEltcGwgKj4oZWxlbWVudCktPnNldENvbnRlbnRFZGl0YWJsZSgiZmFsc2UiKTsgICAgICAgIAog
fQogCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>6662</attachid>
            <date>2006-02-22 04:14:00 -0800</date>
            <delta_ts>2006-02-24 14:11:14 -0800</delta_ts>
            <desc>patch 3</desc>
            <filename>NoSpaceAtLineEndV3.diff</filename>
            <type>text/plain</type>
            <size>4137</size>
            <attacher name="Graham Dennis">Graham.Dennis</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUva2h0bWwvaHRtbC9IVE1MRWxlbWVudEltcGwuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUva2h0bWwvaHRtbC9IVE1MRWxlbWVudEltcGwuY3BwCShyZXZpc2lvbiAxMjkz
MSkKKysrIFdlYkNvcmUva2h0bWwvaHRtbC9IVE1MRWxlbWVudEltcGwuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC00NzEsMjAgKzQ3MSwyMiBAQCBET01TdHJpbmcgSFRNTEVsZW1lbnRJbXBsOjpjb250
ZW50RWRpdGFiCiAKIHZvaWQgSFRNTEVsZW1lbnRJbXBsOjpzZXRDb250ZW50RWRpdGFibGUoTWFw
cGVkQXR0cmlidXRlSW1wbCogYXR0cikgCiB7Ci0gICAgRnJhbWUgKmZyYW1lID0gZ2V0RG9jdW1l
bnQoKS0+ZnJhbWUoKTsKICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGVuYWJsZWQgPSBhdHRyLT52
YWx1ZSgpOwogICAgIGlmIChlbmFibGVkLmlzRW1wdHkoKSB8fCBlcXVhbElnbm9yaW5nQ2FzZShl
bmFibGVkLCAidHJ1ZSIpKSB7CiAgICAgICAgIGFkZENTU1Byb3BlcnR5KGF0dHIsIENTU19QUk9Q
X19LSFRNTF9VU0VSX01PRElGWSwgQ1NTX1ZBTF9SRUFEX1dSSVRFKTsKLSAgICAgICAgaWYgKGZy
YW1lKQotICAgICAgICAgICAgZnJhbWUtPmFwcGx5RWRpdGluZ1N0eWxlVG9FbGVtZW50KHRoaXMp
OyAgICAKKyAgICAgICAgYWRkQ1NTUHJvcGVydHkoYXR0ciwgQ1NTX1BST1BfV09SRF9XUkFQLCBD
U1NfVkFMX0JSRUFLX1dPUkQpOworICAgICAgICBhZGRDU1NQcm9wZXJ0eShhdHRyLCBDU1NfUFJP
UF9fS0hUTUxfTkJTUF9NT0RFLCBDU1NfVkFMX1NQQUNFKTsKKyAgICAgICAgYWRkQ1NTUHJvcGVy
dHkoYXR0ciwgQ1NTX1BST1BfX0tIVE1MX0xJTkVfQlJFQUssIENTU19WQUxfQUZURVJfV0hJVEVf
U1BBQ0UpOwogICAgIH0gZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UoZW5hYmxlZCwgImZhbHNl
IikpIHsKICAgICAgICAgYWRkQ1NTUHJvcGVydHkoYXR0ciwgQ1NTX1BST1BfX0tIVE1MX1VTRVJf
TU9ESUZZLCBDU1NfVkFMX1JFQURfT05MWSk7Ci0gICAgICAgIGlmIChmcmFtZSkKLSAgICAgICAg
ICAgIGZyYW1lLT5yZW1vdmVFZGl0aW5nU3R5bGVGcm9tRWxlbWVudCh0aGlzKTsgICAgCisgICAg
ICAgIGF0dHItPmRlY2woKS0+cmVtb3ZlUHJvcGVydHkoQ1NTX1BST1BfV09SRF9XUkFQLCBmYWxz
ZSk7CisgICAgICAgIGF0dHItPmRlY2woKS0+cmVtb3ZlUHJvcGVydHkoQ1NTX1BST1BfX0tIVE1M
X05CU1BfTU9ERSwgZmFsc2UpOworICAgICAgICBhdHRyLT5kZWNsKCktPnJlbW92ZVByb3BlcnR5
KENTU19QUk9QX19LSFRNTF9MSU5FX0JSRUFLLCBmYWxzZSk7CiAgICAgfSBlbHNlIGlmIChlcXVh
bElnbm9yaW5nQ2FzZShlbmFibGVkLCAiaW5oZXJpdCIpKSB7CiAgICAgICAgIGFkZENTU1Byb3Bl
cnR5KGF0dHIsIENTU19QUk9QX19LSFRNTF9VU0VSX01PRElGWSwgQ1NTX1ZBTF9JTkhFUklUKTsK
LSAgICAgICAgaWYgKGZyYW1lKQotICAgICAgICAgICAgZnJhbWUtPnJlbW92ZUVkaXRpbmdTdHls
ZUZyb21FbGVtZW50KHRoaXMpOyAgICAKKyAgICAgICAgYXR0ci0+ZGVjbCgpLT5yZW1vdmVQcm9w
ZXJ0eShDU1NfUFJPUF9XT1JEX1dSQVAsIGZhbHNlKTsKKyAgICAgICAgYXR0ci0+ZGVjbCgpLT5y
ZW1vdmVQcm9wZXJ0eShDU1NfUFJPUF9fS0hUTUxfTkJTUF9NT0RFLCBmYWxzZSk7CisgICAgICAg
IGF0dHItPmRlY2woKS0+cmVtb3ZlUHJvcGVydHkoQ1NTX1BST1BfX0tIVE1MX0xJTkVfQlJFQUss
IGZhbHNlKTsKICAgICB9CiB9CiAKSW5kZXg6IFdlYkNvcmUvcGFnZS9GcmFtZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAkocmV2aXNpb24gMTI5MzEpCisrKyBXZWJD
b3JlL3BhZ2UvRnJhbWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDAxLDE3ICsyNDAxLDYgQEAg
Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uSW1wbCAqRnJhbWU6OgogICAgIHJldHVybiBuZXcg
Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uSW1wbChzdHlsZUVsZW1lbnQpOwogfQogCi1zdGF0
aWMgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb25JbXBsICplZGl0aW5nU3R5bGUoKQotewotICAg
IHN0YXRpYyBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbkltcGwgKmVkaXRpbmdTdHlsZSA9IDA7
Ci0gICAgaWYgKCFlZGl0aW5nU3R5bGUpIHsKLSAgICAgICAgZWRpdGluZ1N0eWxlID0gbmV3IENT
U011dGFibGVTdHlsZURlY2xhcmF0aW9uSW1wbDsKLSAgICAgICAgaW50IGV4Y2VwdGlvbkNvZGU7
Ci0gICAgICAgIGVkaXRpbmdTdHlsZS0+c2V0Q3NzVGV4dCgid29yZC13cmFwOiBicmVhay13b3Jk
OyAta2h0bWwtbmJzcC1tb2RlOiBzcGFjZTsgLWtodG1sLWxpbmUtYnJlYWs6IGFmdGVyLXdoaXRl
LXNwYWNlOyIsIGV4Y2VwdGlvbkNvZGUpOwotICAgIH0KLSAgICByZXR1cm4gZWRpdGluZ1N0eWxl
OwotfQotCiB2b2lkIEZyYW1lOjphcHBseUVkaXRpbmdTdHlsZVRvQm9keUVsZW1lbnQoKSBjb25z
dAogewogICAgIGlmICghZC0+bV9kb2MpCkBAIC0yNDQxLDM2ICsyNDMwLDE1IEBAIHZvaWQgRnJh
bWU6OmFwcGx5RWRpdGluZ1N0eWxlVG9FbGVtZW50KEUKICAgICBpZiAoIWVsZW1lbnQgfHwgIWVs
ZW1lbnQtPmlzSFRNTEVsZW1lbnQoKSkKICAgICAgICAgcmV0dXJuOwogICAgICAgICAKLSAgICBS
ZW5kZXJPYmplY3QgKnJlbmRlcmVyID0gZWxlbWVudC0+cmVuZGVyZXIoKTsKLSAgICBpZiAoIXJl
bmRlcmVyIHx8ICFyZW5kZXJlci0+aXNCbG9ja0Zsb3coKSkKLSAgICAgICAgcmV0dXJuOwotICAg
IAotICAgIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uSW1wbCAqY3VycmVudFN0eWxlID0gc3Rh
dGljX2Nhc3Q8SFRNTEVsZW1lbnRJbXBsICo+KGVsZW1lbnQpLT5nZXRJbmxpbmVTdHlsZURlY2wo
KTsKLSAgICBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbkltcGwgKm1lcmdlU3R5bGUgPSBlZGl0
aW5nU3R5bGUoKTsKLSAgICBpZiAobWVyZ2VTdHlsZSkgewotICAgICAgICBjdXJyZW50U3R5bGUt
Pm1lcmdlKG1lcmdlU3R5bGUpOwotICAgICAgICBlbGVtZW50LT5zZXRBdHRyaWJ1dGUoc3R5bGVB
dHRyLCBjdXJyZW50U3R5bGUtPmNzc1RleHQoKSk7Ci0gICAgfQorCXN0YXRpY19jYXN0PEhUTUxF
bGVtZW50SW1wbCAqPihlbGVtZW50KS0+c2V0Q29udGVudEVkaXRhYmxlKCJ0cnVlIik7CiB9CiAK
IHZvaWQgRnJhbWU6OnJlbW92ZUVkaXRpbmdTdHlsZUZyb21FbGVtZW50KEVsZW1lbnRJbXBsICpl
bGVtZW50KSBjb25zdAogewogICAgIGlmICghZWxlbWVudCB8fCAhZWxlbWVudC0+aXNIVE1MRWxl
bWVudCgpKQogICAgICAgICByZXR1cm47Ci0gICAgICAgIAotICAgIFJlbmRlck9iamVjdCAqcmVu
ZGVyZXIgPSBlbGVtZW50LT5yZW5kZXJlcigpOwotICAgIGlmICghcmVuZGVyZXIgfHwgIXJlbmRl
cmVyLT5pc0Jsb2NrRmxvdygpKQotICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgQ1NTTXV0YWJs
ZVN0eWxlRGVjbGFyYXRpb25JbXBsICpjdXJyZW50U3R5bGUgPSBzdGF0aWNfY2FzdDxIVE1MRWxl
bWVudEltcGwgKj4oZWxlbWVudCktPmdldElubGluZVN0eWxlRGVjbCgpOwotICAgIGJvb2wgY2hh
bmdlZCA9IGZhbHNlOwotICAgIGNoYW5nZWQgfD0gIWN1cnJlbnRTdHlsZS0+cmVtb3ZlUHJvcGVy
dHkoQ1NTX1BST1BfV09SRF9XUkFQLCBmYWxzZSkuaXNOdWxsKCk7Ci0gICAgY2hhbmdlZCB8PSAh
Y3VycmVudFN0eWxlLT5yZW1vdmVQcm9wZXJ0eShDU1NfUFJPUF9fS0hUTUxfTkJTUF9NT0RFLCBm
YWxzZSkuaXNOdWxsKCk7Ci0gICAgY2hhbmdlZCB8PSAhY3VycmVudFN0eWxlLT5yZW1vdmVQcm9w
ZXJ0eShDU1NfUFJPUF9fS0hUTUxfTElORV9CUkVBSywgZmFsc2UpLmlzTnVsbCgpOwotICAgIGlm
IChjaGFuZ2VkKQotICAgICAgICBjdXJyZW50U3R5bGUtPnNldENoYW5nZWQoKTsKIAotICAgIGVs
ZW1lbnQtPnNldEF0dHJpYnV0ZShzdHlsZUF0dHIsIGN1cnJlbnRTdHlsZS0+Y3NzVGV4dCgpKTsK
KyAgICBzdGF0aWNfY2FzdDxIVE1MRWxlbWVudEltcGwgKj4oZWxlbWVudCktPnNldENvbnRlbnRF
ZGl0YWJsZSgiZmFsc2UiKTsgICAgICAgIAogfQogCiAK
</data>
<flag name="review"
          id="1676"
          type_id="1"
          status="+"
          setter="justin.garcia"
    />
          </attachment>
      

    </bug>

</bugzilla>