<?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>23463</bug_id>
          
          <creation_ts>2009-01-21 14:56:59 -0800</creation_ts>
          <short_desc>WebKit leaves &apos;style=&quot;&quot;&apos; attribute turds after some editing commands</short_desc>
          <delta_ts>2009-01-21 15:50: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>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>jparent</cc>
    
    <cc>justin.garcia</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>106513</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-01-21 14:56:59 -0800</bug_when>
    <thetext>WebKit leaves &apos;style=&quot;&quot;&apos; attribute turds after some editing commands

An example:
http://trac.webkit.org/browser/trunk/LayoutTests/editing/execCommand/toggle-styles-expected.txt?rev=40097</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106514</commentid>
    <comment_count>1</comment_count>
      <attachid>26908</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-01-21 15:04:33 -0800</bug_when>
    <thetext>Created attachment 26908
Remove the style=&apos;&apos; turds left by some editing commmands

 LayoutTests/ChangeLog                              |    9 +++++++++
 .../editing/execCommand/toggle-styles-expected.txt |   18 +++++++++---------
 WebCore/ChangeLog                                  |   14 ++++++++++++++
 WebCore/editing/ApplyStyleCommand.cpp              |    8 ++++++--
 WebCore/editing/CompositeEditCommand.cpp           |    2 +-
 5 files changed, 39 insertions(+), 12 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106515</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-01-21 15:06:14 -0800</bug_when>
    <thetext>Justin, I would like to know from you if I should be using &quot;removeNodeAttribute&quot; or if I should just be removing the attribute from the element directly (without going through all the compositEditCommand stuff).  What&apos;s the benefit of removeNodeAttribute?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106517</commentid>
    <comment_count>3</comment_count>
    <who name="Justin Garcia">justin.garcia</who>
    <bug_when>2009-01-21 15:11:59 -0800</bug_when>
    <thetext>&gt; &quot;removeNodeAttribute&quot; or if I should just be removing the attribute from the
&gt; element directly (without going through all the compositEditCommand stuff). 
&gt; What&apos;s the benefit of removeNodeAttribute?

removeNodeAttribute is the Undo-able operation.  I think you need to use that one, since later on Undo we might try to add property/values to the style attribute, and if it&apos;s not there we could run into trouble.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106518</commentid>
    <comment_count>4</comment_count>
      <attachid>26908</attachid>
    <who name="Justin Garcia">justin.garcia</who>
    <bug_when>2009-01-21 15:14:39 -0800</bug_when>
    <thetext>Comment on attachment 26908
Remove the style=&apos;&apos; turds left by some editing commmands

r=me assuming you leave removeNodeAttribute in there as-is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106526</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-01-21 15:50:00 -0800</bug_when>
    <thetext>Thanks!
http://trac.webkit.org/changeset/40101</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>26908</attachid>
            <date>2009-01-21 15:04:33 -0800</date>
            <delta_ts>2009-01-21 15:14:39 -0800</delta_ts>
            <desc>Remove the style=&apos;&apos; turds left by some editing commmands</desc>
            <filename>Remove-the-style-turds-left-by-some-editing-commmands.patch</filename>
            <type>text/plain</type>
            <size>5759</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ODVmYmZmMGQ3ZTUyY2U2YmRiM2ZjYmEzNWZjNDIxMjQzNTI0ZjliYQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGY5ZTBlYjgu
LmUxNzA5OGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAwOS0wMS0yMSAgRXJpYyBTZWlkZWwg
IDxlcmljQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUmVtb3ZlIHRoZSBzdHlsZT0nJyB0dXJkcyBsZWZ0IGJ5IHNvbWUgZWRpdGlu
ZyBjb21tYW5kcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjM0NjMKKworICAgICAgICAqIGVkaXRpbmcvZXhlY0NvbW1hbmQvdG9nZ2xlLXN0eWxlcy1l
eHBlY3RlZC50eHQ6IHVwZGF0ZWQgcmVzdWx0cworCiAyMDA5LTAxLTE2ICBFcmljIFNlaWRlbCAg
PGVyaWNAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBKdXN0aW4gR2FyY2lhLgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC90b2dnbGUtc3R5bGVz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvdG9nZ2xlLXN0
eWxlcy1leHBlY3RlZC50eHQKaW5kZXggZmIzYmZmNi4uZTRjNGRiMCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC90b2dnbGUtc3R5bGVzLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL3RvZ2dsZS1zdHlsZXMtZXhwZWN0
ZWQudHh0CkBAIC02LDI1ICs2LDI1IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiBQQVNTIGRv
Y3VtZW50LmNvbXBhdE1vZGUgaXMgIkJhY2tDb21wYXQiCiBQQVNTIGJvbGQgdG9nZ2xlCiBQQVNT
IGJvbGQgcmVtb3ZpbmcgYgotRkFJTCBib2xkIHJlbW92aW5nIGZvbnQtd2VpZ2h0OiBib2xkIC0t
IDxzcGFuIHN0eWxlPSIiPnRlc3Q8L3NwYW4+CitGQUlMIGJvbGQgcmVtb3ZpbmcgZm9udC13ZWln
aHQ6IGJvbGQgLS0gPHNwYW4+dGVzdDwvc3Bhbj4KIEZBSUwgYm9sZCByZW1vdmluZyBzdHJvbmcg
LS0gPHN0cm9uZz48c3BhbiBjbGFzcz0iQXBwbGUtc3R5bGUtc3BhbiIgc3R5bGU9ImZvbnQtd2Vp
Z2h0OiBub3JtYWw7Ij50ZXN0PC9zcGFuPjwvc3Ryb25nPgogUEFTUyBpdGFsaWMgdG9nZ2xlCiBQ
QVNTIGl0YWxpYyByZW1vdmluZyBpCi1GQUlMIGl0YWxpYyByZW1vdmluZyBmb250LXN0eWxlOiBp
dGFsaWMgLS0gPHNwYW4gc3R5bGU9IiI+dGVzdDwvc3Bhbj4KK0ZBSUwgaXRhbGljIHJlbW92aW5n
IGZvbnQtc3R5bGU6IGl0YWxpYyAtLSA8c3Bhbj50ZXN0PC9zcGFuPgogRkFJTCBpdGFsaWMgcmVt
b3ZpbmcgZW0gLS0gPGVtPjxzcGFuIGNsYXNzPSJBcHBsZS1zdHlsZS1zcGFuIiBzdHlsZT0iZm9u
dC1zdHlsZTogbm9ybWFsOyI+dGVzdDwvc3Bhbj48L2VtPgogUEFTUyBzdWJzY3JpcHQgdG9nZ2xl
CiBQQVNTIHN1YnNjcmlwdCByZW1vdmluZyBzdWIKLUZBSUwgc3Vic2NyaXB0IHJlbW92aW5nIHZl
cnRpY2FsLWFsaWduOiBzdWIgLS0gPHNwYW4gc3R5bGU9IiI+dGVzdDwvc3Bhbj4KK0ZBSUwgc3Vi
c2NyaXB0IHJlbW92aW5nIHZlcnRpY2FsLWFsaWduOiBzdWIgLS0gPHNwYW4+dGVzdDwvc3Bhbj4K
IFBBU1Mgc3VwZXJzY3JpcHQgdG9nZ2xlCiBQQVNTIHN1cGVyc2NyaXB0IHJlbW92aW5nIHN1cAot
RkFJTCBzdXBlcnNjcmlwdCByZW1vdmluZyB2ZXJ0aWNhbC1hbGlnbjogc3VwZXIgLS0gPHNwYW4g
c3R5bGU9IiI+dGVzdDwvc3Bhbj4KK0ZBSUwgc3VwZXJzY3JpcHQgcmVtb3ZpbmcgdmVydGljYWwt
YWxpZ246IHN1cGVyIC0tIDxzcGFuPnRlc3Q8L3NwYW4+CiBQQVNTIHN0cmlrZXRocm91Z2ggdG9n
Z2xlCi1GQUlMIHN0cmlrZXRocm91Z2ggcmVtb3Zpbmcgc3RyaWtlIC0tIDxzdHJpa2Ugc3R5bGU9
IiI+PHNwYW4gY2xhc3M9IkFwcGxlLXN0eWxlLXNwYW4iIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246
IG5vbmU7Ij50ZXN0PC9zcGFuPjwvc3RyaWtlPgotRkFJTCBzdHJpa2V0aHJvdWdoIHJlbW92aW5n
IHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoIC0tIDxzcGFuIHN0eWxlPSIiPnRlc3Q8L3Nw
YW4+Ci1GQUlMIHN0cmlrZXRocm91Z2ggcmVtb3ZpbmcgcyAtLSA8cyBzdHlsZT0iIj48c3BhbiBj
bGFzcz0iQXBwbGUtc3R5bGUtc3BhbiIgc3R5bGU9InRleHQtZGVjb3JhdGlvbjogbm9uZTsiPnRl
c3Q8L3NwYW4+PC9zPgorRkFJTCBzdHJpa2V0aHJvdWdoIHJlbW92aW5nIHN0cmlrZSAtLSA8c3Ry
aWtlPjxzcGFuIGNsYXNzPSJBcHBsZS1zdHlsZS1zcGFuIiBzdHlsZT0idGV4dC1kZWNvcmF0aW9u
OiBub25lOyI+dGVzdDwvc3Bhbj48L3N0cmlrZT4KK0ZBSUwgc3RyaWtldGhyb3VnaCByZW1vdmlu
ZyB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaCAtLSA8c3Bhbj50ZXN0PC9zcGFuPgorRkFJ
TCBzdHJpa2V0aHJvdWdoIHJlbW92aW5nIHMgLS0gPHM+PHNwYW4gY2xhc3M9IkFwcGxlLXN0eWxl
LXNwYW4iIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246IG5vbmU7Ij50ZXN0PC9zcGFuPjwvcz4KIFBB
U1MgdW5kZXJsaW5lIHRvZ2dsZQotRkFJTCB1bmRlcmxpbmUgcmVtb3ZpbmcgdSAtLSA8dSBzdHls
ZT0iIj48c3BhbiBjbGFzcz0iQXBwbGUtc3R5bGUtc3BhbiIgc3R5bGU9InRleHQtZGVjb3JhdGlv
bjogbm9uZTsiPnRlc3Q8L3NwYW4+PC91PgotRkFJTCB1bmRlcmxpbmUgcmVtb3ZpbmcgdGV4dC1k
ZWNvcmF0aW9uOiB1bmRlcmxpbmUgLS0gPHNwYW4gc3R5bGU9IiI+dGVzdDwvc3Bhbj4KK0ZBSUwg
dW5kZXJsaW5lIHJlbW92aW5nIHUgLS0gPHU+PHNwYW4gY2xhc3M9IkFwcGxlLXN0eWxlLXNwYW4i
IHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246IG5vbmU7Ij50ZXN0PC9zcGFuPjwvdT4KK0ZBSUwgdW5k
ZXJsaW5lIHJlbW92aW5nIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIC0tIDxzcGFuPnRlc3Q8
L3NwYW4+CiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MzE5NmUzOS4uNjNjY2Y4OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAwOS0wMS0yMSAgRXJpYyBTZWlkZWwg
IDxlcmljQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUmVtb3ZlIHRoZSBzdHlsZT0nJyB0dXJkcyBsZWZ0IGJ5IHNvbWUgZWRpdGlu
ZyBjb21tYW5kcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjM0NjMKKworICAgICAgICBUZXN0OiBlZGl0aW5nL2V4ZWNDb21tYW5kL3RvZ2dsZS1zdHls
ZXMuaHRtbAorCisgICAgICAgICogZWRpdGluZy9BcHBseVN0eWxlQ29tbWFuZC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpBcHBseVN0eWxlQ29tbWFuZDo6cmVtb3ZlQ1NTU3R5bGUpOiBjaGVjayBp
ZiB3ZSBqdXN0IHJlbW92ZWQgdGhlIGxhc3QgQ1NTIHByb3BlcnR5IGFuZCByZW1vdmUgdGhlIHN0
eWxlIGF0dHJpYnV0ZSBhcyB3ZWxsCisgICAgICAgICogZWRpdGluZy9Db21wb3NpdGVFZGl0Q29t
bWFuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb21wb3NpdGVFZGl0Q29tbWFuZDo6cmVtb3Zl
Tm9kZUF0dHJpYnV0ZSk6IHJlbW92ZSBleHRyYSA7CisKIDIwMDktMDEtMTYgIEVyaWMgU2VpZGVs
ICA8ZXJpY0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEp1c3RpbiBHYXJjaWEu
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvQXBwbHlTdHlsZUNvbW1hbmQuY3BwIGIvV2Vi
Q29yZS9lZGl0aW5nL0FwcGx5U3R5bGVDb21tYW5kLmNwcAppbmRleCBlMDA4ZWZlLi5mNmUwOWY1
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvQXBwbHlTdHlsZUNvbW1hbmQuY3BwCisrKyBi
L1dlYkNvcmUvZWRpdGluZy9BcHBseVN0eWxlQ29tbWFuZC5jcHAKQEAgLTEwMTUsMTIgKzEwMTUs
MTIgQEAgdm9pZCBBcHBseVN0eWxlQ29tbWFuZDo6cmVtb3ZlSFRNTEJpZGlFbWJlZGRpbmdTdHls
ZShDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbgogICAgICAgICByZW1vdmVOb2RlUHJlc2Vydmlu
Z0NoaWxkcmVuKGVsZW0pOwogfQogCi12b2lkIEFwcGx5U3R5bGVDb21tYW5kOjpyZW1vdmVDU1NT
dHlsZShDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbiAqc3R5bGUsIEhUTUxFbGVtZW50ICplbGVt
KQordm9pZCBBcHBseVN0eWxlQ29tbWFuZDo6cmVtb3ZlQ1NTU3R5bGUoQ1NTTXV0YWJsZVN0eWxl
RGVjbGFyYXRpb24qIHN0eWxlLCBIVE1MRWxlbWVudCogZWxlbSkKIHsKICAgICBBU1NFUlQoc3R5
bGUpOwogICAgIEFTU0VSVChlbGVtKTsKIAotICAgIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9u
ICpkZWNsID0gZWxlbS0+aW5saW5lU3R5bGVEZWNsKCk7CisgICAgQ1NTTXV0YWJsZVN0eWxlRGVj
bGFyYXRpb24qIGRlY2wgPSBlbGVtLT5pbmxpbmVTdHlsZURlY2woKTsKICAgICBpZiAoIWRlY2wp
CiAgICAgICAgIHJldHVybjsKIApAQCAtMTAzNSw2ICsxMDM1LDEwIEBAIHZvaWQgQXBwbHlTdHls
ZUNvbW1hbmQ6OnJlbW92ZUNTU1N0eWxlKENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uICpzdHls
ZSwgSFRNTEVsCiAgICAgICAgIH0KICAgICB9CiAKKyAgICAvLyBObyBuZWVkIHRvIHNlcmlhbGl6
ZSA8Zm9vIHN0eWxlPSIiPiBpZiB3ZSBqdXN0IHJlbW92ZWQgdGhlIGxhc3QgY3NzIHByb3BlcnR5
CisgICAgaWYgKGRlY2wtPmxlbmd0aCgpID09IDApCisgICAgICAgIHJlbW92ZU5vZGVBdHRyaWJ1
dGUoZWxlbSwgc3R5bGVBdHRyKTsKKwogICAgIGlmIChpc1Vuc3R5bGVkU3R5bGVTcGFuKGVsZW0p
KQogICAgICAgICByZW1vdmVOb2RlUHJlc2VydmluZ0NoaWxkcmVuKGVsZW0pOwogfQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9lZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNwcCBiL1dlYkNvcmUv
ZWRpdGluZy9Db21wb3NpdGVFZGl0Q29tbWFuZC5jcHAKaW5kZXggN2RkYjY1Yi4uY2E2OWRiOSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNwcAorKysg
Yi9XZWJDb3JlL2VkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwCkBAIC0zNTYsNyArMzU2
LDcgQEAgdm9pZCBDb21wb3NpdGVFZGl0Q29tbWFuZDo6cmVtb3ZlQ1NTUHJvcGVydHkoUGFzc1Jl
ZlB0cjxDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGkKIAogdm9pZCBDb21wb3NpdGVFZGl0Q29tbWFu
ZDo6cmVtb3ZlTm9kZUF0dHJpYnV0ZShQYXNzUmVmUHRyPEVsZW1lbnQ+IGVsZW1lbnQsIGNvbnN0
IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZSkKIHsKLSAgICBzZXROb2RlQXR0cmlidXRlKGVsZW1l
bnQsIGF0dHJpYnV0ZSwgQXRvbWljU3RyaW5nKCkpOzsKKyAgICBzZXROb2RlQXR0cmlidXRlKGVs
ZW1lbnQsIGF0dHJpYnV0ZSwgQXRvbWljU3RyaW5nKCkpOwogfQogCiB2b2lkIENvbXBvc2l0ZUVk
aXRDb21tYW5kOjpzZXROb2RlQXR0cmlidXRlKFBhc3NSZWZQdHI8RWxlbWVudD4gZWxlbWVudCwg
Y29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlLCBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVl
KQo=
</data>
<flag name="review"
          id="12879"
          type_id="1"
          status="+"
          setter="justin.garcia"
    />
          </attachment>
      

    </bug>

</bugzilla>