<?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>108689</bug_id>
          
          <creation_ts>2013-02-01 14:03:31 -0800</creation_ts>
          <short_desc>Web Inspector: fix &quot;DOM Exception 8&quot; when deleting lines containing decoration in DTE.</short_desc>
          <delta_ts>2013-02-02 04:11:09 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Andrey Lushnikov">lushnikov</reporter>
          <assigned_to name="Andrey Lushnikov">lushnikov</assigned_to>
          <cc>apavlov</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>vsevik</cc>
    
    <cc>web-inspector-bugs</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>823243</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Lushnikov">lushnikov</who>
    <bug_when>2013-02-01 14:03:31 -0800</bug_when>
    <thetext>Fix &quot;DOM Exception 8&quot; when deleting lines containing decoration in DTE.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>823249</commentid>
    <comment_count>1</comment_count>
      <attachid>186134</attachid>
    <who name="Andrey Lushnikov">lushnikov</who>
    <bug_when>2013-02-01 14:08:17 -0800</bug_when>
    <thetext>Created attachment 186134
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>823257</commentid>
    <comment_count>2</comment_count>
      <attachid>186134</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2013-02-01 14:16:26 -0800</bug_when>
    <thetext>Comment on attachment 186134
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=186134&amp;action=review

&gt; Source/WebCore/inspector/front-end/DefaultTextEditor.js:2931
&gt; +            if (this.element.contains(this.element.decorationsElement))

We usually use the parentElement check, something like

if (this.element.decorationsElement.parentElement)
    this.element.decorationsElement.parentElement.removeChild(this.element.decorationsElement);

The node.contains() method is potentially slower, since it will check all the element&apos;s descendants, not only immediate children.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>823274</commentid>
    <comment_count>3</comment_count>
      <attachid>186134</attachid>
    <who name="Andrey Lushnikov">lushnikov</who>
    <bug_when>2013-02-01 14:29:31 -0800</bug_when>
    <thetext>Comment on attachment 186134
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=186134&amp;action=review

&gt;&gt; Source/WebCore/inspector/front-end/DefaultTextEditor.js:2931
&gt;&gt; +            if (this.element.contains(this.element.decorationsElement))
&gt; 
&gt; We usually use the parentElement check, something like
&gt; 
&gt; if (this.element.decorationsElement.parentElement)
&gt;     this.element.decorationsElement.parentElement.removeChild(this.element.decorationsElement);
&gt; 
&gt; The node.contains() method is potentially slower, since it will check all the element&apos;s descendants, not only immediate children.

That is reasonable!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>823329</commentid>
    <comment_count>4</comment_count>
      <attachid>186157</attachid>
    <who name="Andrey Lushnikov">lushnikov</who>
    <bug_when>2013-02-01 15:15:01 -0800</bug_when>
    <thetext>Created attachment 186157
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>823427</commentid>
    <comment_count>5</comment_count>
      <attachid>186157</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2013-02-01 16:44:01 -0800</bug_when>
    <thetext>Comment on attachment 186157
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=186157&amp;action=review

&gt; Source/WebCore/inspector/front-end/DefaultTextEditor.js:2931
&gt; +            if (this.element.decorationsElement.parentElement)

I DO hope the parentElement is guaranteed to be this.element</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>823480</commentid>
    <comment_count>6</comment_count>
      <attachid>186157</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-01 18:19:05 -0800</bug_when>
    <thetext>Comment on attachment 186157
Patch

Clearing flags on attachment: 186157

Committed r141673: &lt;http://trac.webkit.org/changeset/141673&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>823481</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-01 18:19:09 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>823623</commentid>
    <comment_count>8</comment_count>
      <attachid>186157</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2013-02-02 04:11:09 -0800</bug_when>
    <thetext>Comment on attachment 186157
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=186157&amp;action=review

&gt;&gt; Source/WebCore/inspector/front-end/DefaultTextEditor.js:2931
&gt;&gt; +            if (this.element.decorationsElement.parentElement)
&gt; 
&gt; I DO hope the parentElement is guaranteed to be this.element

Should have been this.element.decorationElement.removeSelf();</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186134</attachid>
            <date>2013-02-01 14:08:17 -0800</date>
            <delta_ts>2013-02-01 15:14:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108689-20130202020459.patch</filename>
            <type>text/plain</type>
            <size>1997</size>
            <attacher name="Andrey Lushnikov">lushnikov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxNjMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTNmOGZkNDFkMWI3ZDdh
ZWFmNDk4N2NlOGQ2NzExMjRhYWZlNzk1OS4uNmRlNjY5ZmUxOTI2N2E5OTIxMDY4NTBhMDc0YjY4
NDI2OGVlZjU0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEzLTAyLTAxICBBbmRy
ZXkgTHVzaG5pa292ICA8bHVzaG5pa292QGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBmaXggIkRPTSBFeGNlcHRpb24gOCIgd2hlbiBkZWxldGluZyBsaW5lcyBjb250YWlu
aW5nIGRlY29yYXRpb24gaW4gRFRFLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTA4Njg5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIGEgY2hlY2sgdGhhdCBkZWNvcmF0aW9uIGVsZW1lbnQgaXMgc3Rp
bGwgYWRkZWQgdG8gdGhlIGxpbmUuIFRoaXMKKyAgICAgICAgd29uJ3QgYmUgdHJ1ZSBpZiB0aGUg
d2hvbGUgbGluZSBpcyBkZWxldGVkIGluIGNvbnRlbnRFZGl0YWJsZSwKKyAgICAgICAgYW5kIHRo
aXMgaXMgdGhlIHJlYXNvbiBmb3IgdGhlIGV4Y2VwdGlvbiB0byBiZSB0aHJvd24uCisKKyAgICAg
ICAgTm8gbmV3IHRlc3RzLgorCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9EZWZhdWx0
VGV4dEVkaXRvci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpbkNodW5r
LnByb3RvdHlwZS5yZW1vdmVBbGxEZWNvcmF0aW9ucyk6CisKIDIwMTMtMDItMDEgIEplciBOb2Js
ZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjE0MTI4MSk6
IE5hdmlnYXRpbmcgdG8gdGhpcyBIVFRQIExpdmUgU3RyZWFtaW5nIChhcHBsaWNhdGlvbi92bmQu
YXBwbGUubXBlZ3VybCkgVVJMIGRvd25sb2FkcyBhIGZpbGUgaW5zdGVhZCBvZiBwbGF5aW5nIGl0
IGluIHRoZSBicm93c2VyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0RlZmF1bHRUZXh0RWRpdG9yLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9EZWZhdWx0VGV4dEVkaXRvci5qcwppbmRleCBlYmRmZDYzNWEyM2Q5OWIwMWVkYmNj
ZGIxNTdiN2MwZGQ2YzE1NzVkLi4yODRmYTJlYjFmMTRlNDNkZDI0YTM2OGUxZjdkMzQ3OWRlYWY0
Mjc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlZmF1
bHRUZXh0RWRpdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
RGVmYXVsdFRleHRFZGl0b3IuanMKQEAgLTI5MjgsNyArMjkyOCw4IEBAIFdlYkluc3BlY3Rvci5U
ZXh0RWRpdG9yTWFpbkNodW5rLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fY2h1bmtlZFBh
bmVsLmJlZ2luRG9tVXBkYXRlcygpOwogICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NOYW1lID0g
IndlYmtpdC1saW5lLWNvbnRlbnQiOwogICAgICAgICBpZiAodGhpcy5lbGVtZW50LmRlY29yYXRp
b25zRWxlbWVudCkgewotICAgICAgICAgICAgdGhpcy5lbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMu
ZWxlbWVudC5kZWNvcmF0aW9uc0VsZW1lbnQpOworICAgICAgICAgICAgaWYgKHRoaXMuZWxlbWVu
dC5jb250YWlucyh0aGlzLmVsZW1lbnQuZGVjb3JhdGlvbnNFbGVtZW50KSkKKyAgICAgICAgICAg
ICAgICB0aGlzLmVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy5lbGVtZW50LmRlY29yYXRpb25zRWxl
bWVudCk7CiAgICAgICAgICAgICBkZWxldGUgdGhpcy5lbGVtZW50LmRlY29yYXRpb25zRWxlbWVu
dDsKICAgICAgICAgfQogICAgICAgICB0aGlzLl9jaHVua2VkUGFuZWwuZW5kRG9tVXBkYXRlcygp
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186157</attachid>
            <date>2013-02-01 15:15:01 -0800</date>
            <delta_ts>2013-02-02 04:11:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108689-20130202031143.patch</filename>
            <type>text/plain</type>
            <size>2015</size>
            <attacher name="Andrey Lushnikov">lushnikov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxNjMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTNmOGZkNDFkMWI3ZDdh
ZWFmNDk4N2NlOGQ2NzExMjRhYWZlNzk1OS4uMTExYzczZDc2MDdlYzg2NzIwZDUxMmQ3OTQzYTNm
OTdhOGVhYmYyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEzLTAyLTAxICBBbmRy
ZXkgTHVzaG5pa292ICA8bHVzaG5pa292QGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBmaXggIkRPTSBFeGNlcHRpb24gOCIgd2hlbiBkZWxldGluZyBsaW5lcyBjb250YWlu
aW5nIGRlY29yYXRpb24gaW4gRFRFLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTA4Njg5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIGEgY2hlY2sgdGhhdCBkZWNvcmF0aW9uIGVsZW1lbnQgaXMgc3Rp
bGwgYWRkZWQgdG8gdGhlIGxpbmUgYmVmb3JlIHRyeWluZyB0byBkZWxldGUgaXQuIFRoaXMKKyAg
ICAgICAgd29uJ3QgYmUgdHJ1ZSBpZiB0aGUgd2hvbGUgbGluZSBpcyBkZWxldGVkIGluIGNvbnRl
bnRFZGl0YWJsZSwKKyAgICAgICAgYW5kIHRoaXMgaXMgdGhlIHJlYXNvbiBmb3IgdGhlIGV4Y2Vw
dGlvbiB0byBiZSB0aHJvd24uCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLgorCisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9EZWZhdWx0VGV4dEVkaXRvci5qczoKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5UZXh0RWRpdG9yTWFpbkNodW5rLnByb3RvdHlwZS5yZW1vdmVBbGxEZWNvcmF0aW9u
cyk6CisKIDIwMTMtMDItMDEgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAg
ICAgICAgUkVHUkVTU0lPTiAocjE0MTI4MSk6IE5hdmlnYXRpbmcgdG8gdGhpcyBIVFRQIExpdmUg
U3RyZWFtaW5nIChhcHBsaWNhdGlvbi92bmQuYXBwbGUubXBlZ3VybCkgVVJMIGRvd25sb2FkcyBh
IGZpbGUgaW5zdGVhZCBvZiBwbGF5aW5nIGl0IGluIHRoZSBicm93c2VyCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlZmF1bHRUZXh0RWRpdG9yLmpzIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWZhdWx0VGV4dEVkaXRvci5qcwpp
bmRleCBlYmRmZDYzNWEyM2Q5OWIwMWVkYmNjZGIxNTdiN2MwZGQ2YzE1NzVkLi43MzU4MjFjYjA3
YTlkYmU0MGYyOTVkN2NkZWM4ZTc1NzdkZDFjOGY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlZmF1bHRUZXh0RWRpdG9yLmpzCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVmYXVsdFRleHRFZGl0b3IuanMKQEAgLTI5Mjgs
NyArMjkyOCw4IEBAIFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpbkNodW5rLnByb3RvdHlwZSA9
IHsKICAgICAgICAgdGhpcy5fY2h1bmtlZFBhbmVsLmJlZ2luRG9tVXBkYXRlcygpOwogICAgICAg
ICB0aGlzLmVsZW1lbnQuY2xhc3NOYW1lID0gIndlYmtpdC1saW5lLWNvbnRlbnQiOwogICAgICAg
ICBpZiAodGhpcy5lbGVtZW50LmRlY29yYXRpb25zRWxlbWVudCkgewotICAgICAgICAgICAgdGhp
cy5lbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMuZWxlbWVudC5kZWNvcmF0aW9uc0VsZW1lbnQpOwor
ICAgICAgICAgICAgaWYgKHRoaXMuZWxlbWVudC5kZWNvcmF0aW9uc0VsZW1lbnQucGFyZW50RWxl
bWVudCkKKyAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy5lbGVt
ZW50LmRlY29yYXRpb25zRWxlbWVudCk7CiAgICAgICAgICAgICBkZWxldGUgdGhpcy5lbGVtZW50
LmRlY29yYXRpb25zRWxlbWVudDsKICAgICAgICAgfQogICAgICAgICB0aGlzLl9jaHVua2VkUGFu
ZWwuZW5kRG9tVXBkYXRlcygpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>