<?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>21843</bug_id>
          
          <creation_ts>2008-10-23 16:55:48 -0700</creation_ts>
          <short_desc>execCommand removeFormat is blowing away text outside the selection</short_desc>
          <delta_ts>2010-10-25 16:03:39 -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>525.x (Safari 3.1)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.plexode.com/cgi-bin/eval2.py#var%20div%20%3D%20document.createElement(%22div%22)%3B%0Adiv.contentEditable%20%3D%20true%3B%0Adocument.body.appendChild(div)%3B%0Adiv.innerHTML%20%3D%20%27%3Cul%3E%3Cli%3Eone%3C%2Fli%3E%3Cli%3Etwo%3C%2Fli%3Eselection%3C%2Ful%3E%27%3B%0A%0A%2F%2F%20Select%20the%20text%20%22selection%22%0Avar%20sel%20%3D%20window.getSelection()%3B%0Avar%20rng%20%3D%20document.createRange()%3B%0Arng.selectNode(div.firstChild.lastChild)%3B%0Asel.removeAllRanges()%3B%0Asel.addRange(rng)%3B%0Adiv.focus()%3B%0A%0A%2F%2F%20Call%20remove%20format%0Adocument.execCommand(%22removeFormat%22%2C%20false%2C%20null)%3B%0A%0A%2F%2F%20OMG!%20%20Where%20did%20%22one%22%20and%20%22two%22%20go%3F%0Adiv.innerHTML%0A</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>43017</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Julie Parent">jparent</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>justin.garcia</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>96451</commentid>
    <comment_count>0</comment_count>
    <who name="Julie Parent">jparent</who>
    <bug_when>2008-10-23 16:55:48 -0700</bug_when>
    <thetext>Given the following (bad) html: &lt;ul&gt;&lt;li&gt;one&lt;/li&gt;&lt;li&gt;two&lt;/li&gt;selection&lt;/ul&gt;

1. Select the text &quot;selection&quot;.
2. execCommand(&apos;removeFormat&apos;, false, null&apos;)

Result: html is &quot;selection&quot; (Where did &quot;one&quot; and &quot;two&quot; go???)
Expected result: &lt;ul&gt;&lt;li&gt;one&lt;/li&gt;&lt;li&gt;two&lt;/li&gt;selection&lt;/ul&gt; (no change)

Use the provided url for a demo, just click &quot;eval once&quot;.
Also seen in Chrome.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113053</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-03-10 13:46:18 -0700</bug_when>
    <thetext>Entertainingly if you start with:
&lt;ul&gt;&lt;li&gt;one&lt;/li&gt;&lt;li&gt;two&lt;/li&gt;selection&lt;/ul&gt;
and hit enter with your cursor just before &quot;selection&quot;, then you get:
&lt;ul&gt;&lt;li&gt;one&lt;/li&gt;&lt;li&gt;two&lt;/li&gt;&lt;ul&gt;&lt;br&gt;&lt;/ul&gt;selection&lt;/ul&gt;

I&apos;m not sure what we&apos;re supposed to do here.  Maybe we&apos;re supposed to make the HTML valid before we perform any operations on it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299098</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-10-25 14:07:12 -0700</bug_when>
    <thetext>Wow this is an interesting bug.  I&apos;ll add a test for it since this bug has been fixed since http://trac.webkit.org/changeset/70283.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299103</commentid>
    <comment_count>3</comment_count>
      <attachid>71794</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-10-25 14:21:06 -0700</bug_when>
    <thetext>Created attachment 71794
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299155</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-10-25 16:03:39 -0700</bug_when>
    <thetext>Committed r70500: &lt;http://trac.webkit.org/changeset/70500&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71794</attachid>
            <date>2010-10-25 14:21:06 -0700</date>
            <delta_ts>2010-10-25 15:08:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-21843-20101025142104.patch</filename>
            <type>text/plain</type>
            <size>2604</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDcwNDkwKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTAtMTAtMjUgIFJ5b3N1a2UgTml3YSAgPHJu
aXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgZXhlY0NvbW1hbmQgcmVtb3ZlRm9ybWF0IGlzIGJsb3dpbmcgYXdheSB0ZXh0IG91
dHNpZGUgdGhlIHNlbGVjdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE4NDMKKworICAgICAgICBBZGRlZCBhIHRlc3QgdG8gZW5zdXJlIGV4ZWN1
dGluZyBSZW1vdmVGb3JtYW50IGNvbW1hbmQgb24gYW4gb3JwaGFuZWQgbGlzdCBpdGVtCisgICAg
ICAgIGRvZXMgbm90IHJlbW92ZSBub24tb3JwaGFuZWQgbGlzdCBpdGVtcyBwcmVjZWRpbmcgdGhl
IG9ycGhhbmVkIGl0ZW0uCisKKyAgICAgICAgKiBlZGl0aW5nL2V4ZWNDb21tYW5kL3JlbW92ZS1m
b3JtYXQtb3JwaGFuZWQtbGlzdC1pdGVtLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9leGVjQ29tbWFuZC9yZW1vdmUtZm9ybWF0LW9ycGhhbmVkLWxpc3QtaXRlbS5odG1s
OiBBZGRlZC4KKwogMjAxMC0xMC0yNSAgRGltaXRyaSBHbGF6a292ICA8ZGdsYXprb3ZAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIEFkZGVkIG1vcmUgZmxha2luZXNzIGV4cGVjdGF0aW9ucy4KSW5k
ZXg6IExheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvcmVtb3ZlLWZvcm1hdC1vcnBoYW5l
ZC1saXN0LWl0ZW0tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRp
bmcvZXhlY0NvbW1hbmQvcmVtb3ZlLWZvcm1hdC1vcnBoYW5lZC1saXN0LWl0ZW0tZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC9yZW1v
dmUtZm9ybWF0LW9ycGhhbmVkLWxpc3QtaXRlbS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsNyBAQAorVGhpcyB0ZXN0cyBSZW1vdmVGb3JtYW50IGNvbW1hbmQgb24gYW4gb3Jw
aGFuZWQgbGlzdCBpdGVtIGZvbGxvd2luZyBub24tb3JwaGFuZWQgbGlzdCBpdGVtcy4gV2ViS2l0
IHVzZWQgdG8gcmVtb3ZlIG5vbi1vcnBoYW5lZCBsaXN0IGl0ZW1zICgiaGVsbG8gd29ybGQiKS4g
WW91IHNob3VsZCBzZWUgImhlbGxvIHdvcmxkIFdlYktpdCIgYmVsb3cuCit8IDx1bD4KK3wgICA8
bGk+Cit8ICAgICAiaGVsbG8iCit8ICAgPGxpPgorfCAgICAgIndvcmxkIgorfCAgICI8I3NlbGVj
dGlvbi1hbmNob3I+V2ViS2l0PCNzZWxlY3Rpb24tZm9jdXM+IgpJbmRleDogTGF5b3V0VGVzdHMv
ZWRpdGluZy9leGVjQ29tbWFuZC9yZW1vdmUtZm9ybWF0LW9ycGhhbmVkLWxpc3QtaXRlbS5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvcmVtb3ZlLWZv
cm1hdC1vcnBoYW5lZC1saXN0LWl0ZW0uaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L2VkaXRpbmcvZXhlY0NvbW1hbmQvcmVtb3ZlLWZvcm1hdC1vcnBoYW5lZC1saXN0LWl0ZW0uaHRt
bAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
Kzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8ZGl2IGlkPSJ0ZXN0IiBjb250ZW50ZWRpdGFibGU+PHVsPjxsaT5oZWxsbzwv
bGk+PGxpPndvcmxkPC9saT5XZWJLaXQ8L3VsPjwvZGl2PgorPHNjcmlwdD4KKworTWFya3VwLmRl
c2NyaXB0aW9uKCdUaGlzIHRlc3RzIFJlbW92ZUZvcm1hbnQgY29tbWFuZCBvbiBhbiBvcnBoYW5l
ZCBsaXN0IGl0ZW0gZm9sbG93aW5nIG5vbi1vcnBoYW5lZCBsaXN0IGl0ZW1zLiBXZWJLaXQgdXNl
ZCB0byByZW1vdmUgbm9uLW9ycGhhbmVkIGxpc3QgaXRlbXMgKCJoZWxsbyB3b3JsZCIpLiBZb3Ug
c2hvdWxkIHNlZSAiaGVsbG8gd29ybGQgV2ViS2l0IiBiZWxvdy4nKTsKK3ZhciB0ZXh0ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QnKS5sYXN0Q2hpbGQubGFzdENoaWxkOwordmFyIHJh
bmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTsKK3JhbmdlLnNldFN0YXJ0KHRleHQsIDApOwor
cmFuZ2Uuc2V0RW5kKHRleHQsIDYpOword2luZG93LmdldFNlbGVjdGlvbigpLnJlbW92ZUFsbFJh
bmdlcygpOword2luZG93LmdldFNlbGVjdGlvbigpLmFkZFJhbmdlKHJhbmdlKTsKK2RvY3VtZW50
LmV4ZWNDb21tYW5kKCdSZW1vdmVGb3JtYXQnLCBmYWxzZSwgbnVsbCk7CitNYXJrdXAuZHVtcCgn
dGVzdCcpOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="61915"
          type_id="1"
          status="+"
          setter="tony"
    />
          </attachment>
      

    </bug>

</bugzilla>