<?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>147304</bug_id>
          
          <creation_ts>2015-07-25 22:10:49 -0700</creation_ts>
          <short_desc>Web Inspector: Start using Node.prototype.remove</short_desc>
          <delta_ts>2015-07-27 15:46:06 -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>Web Inspector</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Nikita Vasilyev">nvasilyev</reporter>
          <assigned_to name="Nikita Vasilyev">nvasilyev</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>jonowells</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1112277</commentid>
    <comment_count>0</comment_count>
    <who name="Nikita Vasilyev">nvasilyev</who>
    <bug_when>2015-07-25 22:10:49 -0700</bug_when>
    <thetext>Convert the following code:

    refElem.parendNode.removeChild(refElem)

to

    refElem.remove()


Note that when refElem.parendNode is null, refElem.remove() is no-op, it doesn&apos;t throw any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112278</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-07-25 22:10:59 -0700</bug_when>
    <thetext>&lt;rdar://problem/22000479&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112281</commentid>
    <comment_count>2</comment_count>
      <attachid>257529</attachid>
    <who name="Nikita Vasilyev">nvasilyev</who>
    <bug_when>2015-07-25 22:18:15 -0700</bug_when>
    <thetext>Created attachment 257529
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112297</commentid>
    <comment_count>3</comment_count>
      <attachid>257529</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-07-25 23:32:01 -0700</bug_when>
    <thetext>Comment on attachment 257529
Patch

Clearing flags on attachment: 257529

Committed r187405: &lt;http://trac.webkit.org/changeset/187405&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112298</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-07-25 23:32:05 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112524</commentid>
    <comment_count>5</comment_count>
      <attachid>257529</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-07-27 15:11:54 -0700</bug_when>
    <thetext>Comment on attachment 257529
Patch

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

&gt; Source/WebInspectorUI/UserInterface/Views/DOMTreeElement.js:1269
&gt; -            parentElement.removeChild(self);
&gt; +            self.remove();

Is this valid? Isn&apos;t &quot;self&quot; here a WebInspector.TreeElement, not a DOM Element?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112550</commentid>
    <comment_count>6</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-07-27 15:46:06 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Comment on attachment 257529 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=257529&amp;action=review
&gt; 
&gt; &gt; Source/WebInspectorUI/UserInterface/Views/DOMTreeElement.js:1269
&gt; &gt; -            parentElement.removeChild(self);
&gt; &gt; +            self.remove();
&gt; 
&gt; Is this valid? Isn&apos;t &quot;self&quot; here a WebInspector.TreeElement, not a DOM
&gt; Element?

Yes, although this still works, it works in lucky / poor way.

This is inside of remove(), so it calls remove() again asynchronously, and only stops this loop because eventually the actual RemoveChild DOM event would remove this tree element from the parent. Lets fix this.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257529</attachid>
            <date>2015-07-25 22:18:15 -0700</date>
            <delta_ts>2015-07-25 23:32:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>5414</size>
            <attacher name="Nikita Vasilyev">nvasilyev</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDdjYWJjOWIuLjZjM2U2NjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE1LTA3LTI1ICBOaWtpdGEgVmFzaWx5
ZXYgIDxudmFzaWx5ZXZAYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFN0YXJ0
IHVzaW5nIE5vZGUucHJvdG90eXBlLnJlbW92ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3MzA0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qczoKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5lbGVtZW50RHJhZ1N0YXJ0KToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5lbGVtZW50RHJhZ0VuZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IucmV2ZXJ0RG9tQ2hhbmdl
cyk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVlRWxlbWVudC5qczoKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5ET01UcmVlRWxlbWVudC5wcm90b3R5cGUuX3VwZGF0ZVNlYXJj
aEhpZ2hsaWdodC51cGRhdGVFbnRyeUhpZGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTVRy
ZWVFbGVtZW50LnByb3RvdHlwZS5fdXBkYXRlU2VhcmNoSGlnaGxpZ2h0KToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5ET01UcmVlRWxlbWVudC5wcm90b3R5cGUucmVtb3ZlLnJlbW92ZU5vZGVDYWxs
YmFjayk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NVHJlZUVsZW1lbnQucHJvdG90eXBlLnJl
bW92ZSk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9SZXNpemVyLmpzOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlJlc2l6ZXIucHJvdG90eXBlLl9yZXNpemVyTW91c2VEb3duKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5SZXNpemVyLnByb3RvdHlwZS5fcmVzaXplck1vdXNlVXApOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc2l6ZXIpOgorCiAyMDE1LTA3LTI0ICBKb3NlcGggUGVj
b3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogQWRk
IGN1c3RvbSBwYXJhbWV0ZXIgbGlzdHMgZm9yIG5ldyBET00gYXBwZW5kL3ByZXBlbmQvYmVmb3Jl
L2FmdGVyL3JlcGxhY2VXaXRoIG1ldGhvZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qcwppbmRleCBiNGViZjBmLi5hZWU0MzY3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMKKysr
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzCkBAIC0x
NzAzLDcgKzE3MDMsNyBAQCBXZWJJbnNwZWN0b3IuZWxlbWVudERyYWdTdGFydCA9IGZ1bmN0aW9u
KGVsZW1lbnQsIGRpdmlkZXJEcmFnLCBlbGVtZW50RHJhZ0VuZCwgZQogICAgIGlmIChlbGVtZW50
KSB7CiAgICAgICAgIC8vIEluc3RhbGwgZ2xhc3MgcGFuZQogICAgICAgICBpZiAoV2ViSW5zcGVj
dG9yLl9lbGVtZW50RHJhZ2dpbmdHbGFzc1BhbmUpCi0gICAgICAgICAgICBXZWJJbnNwZWN0b3Iu
X2VsZW1lbnREcmFnZ2luZ0dsYXNzUGFuZS5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKFdlYklu
c3BlY3Rvci5fZWxlbWVudERyYWdnaW5nR2xhc3NQYW5lKTsKKyAgICAgICAgICAgIFdlYkluc3Bl
Y3Rvci5fZWxlbWVudERyYWdnaW5nR2xhc3NQYW5lLnJlbW92ZSgpOwogCiAgICAgICAgIHZhciBn
bGFzc1BhbmUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICAgICAgZ2xhc3NQ
YW5lLnN0eWxlLmNzc1RleHQgPSAicG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVm
dDowO3JpZ2h0OjA7b3BhY2l0eTowO3otaW5kZXg6MSI7CkBAIC0xNzM0LDcgKzE3MzQsNyBAQCBX
ZWJJbnNwZWN0b3IuZWxlbWVudERyYWdFbmQgPSBmdW5jdGlvbihldmVudCkKICAgICBldmVudC50
YXJnZXQub3duZXJEb2N1bWVudC5ib2R5LnN0eWxlLnJlbW92ZVByb3BlcnR5KCJjdXJzb3IiKTsK
IAogICAgIGlmIChXZWJJbnNwZWN0b3IuX2VsZW1lbnREcmFnZ2luZ0dsYXNzUGFuZSkKLSAgICAg
ICAgV2ViSW5zcGVjdG9yLl9lbGVtZW50RHJhZ2dpbmdHbGFzc1BhbmUucGFyZW50RWxlbWVudC5y
ZW1vdmVDaGlsZChXZWJJbnNwZWN0b3IuX2VsZW1lbnREcmFnZ2luZ0dsYXNzUGFuZSk7CisgICAg
ICAgIFdlYkluc3BlY3Rvci5fZWxlbWVudERyYWdnaW5nR2xhc3NQYW5lLnJlbW92ZSgpOwogCiAg
ICAgZGVsZXRlIFdlYkluc3BlY3Rvci5fZWxlbWVudERyYWdnaW5nR2xhc3NQYW5lOwogICAgIGRl
bGV0ZSBXZWJJbnNwZWN0b3IuX2VsZW1lbnREcmFnZ2luZ0V2ZW50VGFyZ2V0OwpAQCAtMjAyNyw4
ICsyMDI3LDcgQEAgV2ViSW5zcGVjdG9yLnJldmVydERvbUNoYW5nZXMgPSBmdW5jdGlvbihkb21D
aGFuZ2VzKQogICAgICAgICB2YXIgZW50cnkgPSBkb21DaGFuZ2VzW2ldOwogICAgICAgICBzd2l0
Y2ggKGVudHJ5LnR5cGUpIHsKICAgICAgICAgY2FzZSAiYWRkZWQiOgotICAgICAgICAgICAgaWYg
KGVudHJ5Lm5vZGUucGFyZW50RWxlbWVudCkKLSAgICAgICAgICAgICAgICBlbnRyeS5ub2RlLnBh
cmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQoZW50cnkubm9kZSk7CisgICAgICAgICAgICBlbnRyeS5u
b2RlLnJlbW92ZSgpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgImNoYW5nZWQi
OgogICAgICAgICAgICAgZW50cnkubm9kZS50ZXh0Q29udGVudCA9IGVudHJ5Lm9sZFRleHQ7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01U
cmVlRWxlbWVudC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0RPTVRyZWVFbGVtZW50LmpzCmluZGV4IDI2Y2YxN2QuLjMzMjVjMWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVFbGVtZW50Lmpz
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVF
bGVtZW50LmpzCkBAIC0xMjAsOCArMTIwLDcgQEAgV2ViSW5zcGVjdG9yLkRPTVRyZWVFbGVtZW50
ID0gY2xhc3MgRE9NVHJlZUVsZW1lbnQgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVHJlZUVsZW0KICAg
ICAgICAgewogICAgICAgICAgICAgc3dpdGNoIChlbnRyeS50eXBlKSB7CiAgICAgICAgICAgICAg
ICAgY2FzZSAiYWRkZWQiOgotICAgICAgICAgICAgICAgICAgICBpZiAoZW50cnkubm9kZS5wYXJl
bnRFbGVtZW50KQotICAgICAgICAgICAgICAgICAgICAgICAgZW50cnkubm9kZS5wYXJlbnRFbGVt
ZW50LnJlbW92ZUNoaWxkKGVudHJ5Lm5vZGUpOworICAgICAgICAgICAgICAgICAgICBlbnRyeS5u
b2RlLnJlbW92ZSgpOwogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAg
ICBjYXNlICJjaGFuZ2VkIjoKICAgICAgICAgICAgICAgICAgICAgZW50cnkubm9kZS50ZXh0Q29u
dGVudCA9IGVudHJ5Lm9sZFRleHQ7CkBAIC0xMjY3LDcgKzEyNjYsNyBAQCBXZWJJbnNwZWN0b3Iu
RE9NVHJlZUVsZW1lbnQgPSBjbGFzcyBET01UcmVlRWxlbWVudCBleHRlbmRzIFdlYkluc3BlY3Rv
ci5UcmVlRWxlbQogICAgICAgICAgICAgaWYgKCFzZWxmLnBhcmVudCkKICAgICAgICAgICAgICAg
ICByZXR1cm47CiAKLSAgICAgICAgICAgIHBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQoc2VsZik7
CisgICAgICAgICAgICBzZWxmLnJlbW92ZSgpOwogICAgICAgICAgICAgcGFyZW50RWxlbWVudC5h
ZGp1c3RDb2xsYXBzZWRSYW5nZSgpOwogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc2l6ZXIuanMgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNpemVyLmpzCmluZGV4IDg5M2VmNmUu
LjA3NmE3YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL1Jlc2l6ZXIuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvUmVzaXplci5qcwpAQCAtMTEwLDcgKzExMCw3IEBAIFdlYkluc3BlY3Rvci5SZXNp
emVyID0gY2xhc3MgUmVzaXplciBleHRlbmRzIFdlYkluc3BlY3Rvci5PYmplY3QKICAgICAgICAg
Ly8gVGhlIGN1cnNvciBjb3VsZCBjaGFuZ2Ugd2hlbiBob3ZlcmluZyBvdmVyIGxpbmtzLCB0ZXh0
LCBvciBvdGhlciBlbGVtZW50cyB3aXRoIGN1cnNvciBjdWVzLgogICAgICAgICAvLyBGSVhNRTog
d2hlbiBQb2ludGVyIEV2ZW50cyBzdXBwb3J0IGlzIGF2YWlsYWJsZSB0aGlzIGNvdWxkIGJlIGlt
cGxlbWVudGVkIGJ5IGRyYXdpbmcgdGhlIGN1cnNvciBvdXJzZWx2ZXMuCiAgICAgICAgIGlmIChX
ZWJJbnNwZWN0b3IuX2VsZW1lbnREcmFnZ2luZ0dsYXNzUGFuZSkKLSAgICAgICAgICAgIFdlYklu
c3BlY3Rvci5fZWxlbWVudERyYWdnaW5nR2xhc3NQYW5lLnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hp
bGQoV2ViSW5zcGVjdG9yLl9lbGVtZW50RHJhZ2dpbmdHbGFzc1BhbmUpOworICAgICAgICAgICAg
V2ViSW5zcGVjdG9yLl9lbGVtZW50RHJhZ2dpbmdHbGFzc1BhbmUucmVtb3ZlKCk7CiAKICAgICAg
ICAgdmFyIGdsYXNzUGFuZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsK
ICAgICAgICAgZ2xhc3NQYW5lRWxlbWVudC5jbGFzc05hbWUgPSAiZ2xhc3MtcGFuZS1mb3ItZHJh
ZyI7CkBAIC0xMzUsNyArMTM1LDcgQEAgV2ViSW5zcGVjdG9yLlJlc2l6ZXIgPSBjbGFzcyBSZXNp
emVyIGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVjdAogICAgICAgICBkb2N1bWVudC5ib2R5LnN0
eWxlLnJlbW92ZVByb3BlcnR5KCJjdXJzb3IiKTsKIAogICAgICAgICBpZiAoV2ViSW5zcGVjdG9y
Ll9lbGVtZW50RHJhZ2dpbmdHbGFzc1BhbmUpIHsKLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5f
ZWxlbWVudERyYWdnaW5nR2xhc3NQYW5lLnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQoV2ViSW5z
cGVjdG9yLl9lbGVtZW50RHJhZ2dpbmdHbGFzc1BhbmUpOworICAgICAgICAgICAgV2ViSW5zcGVj
dG9yLl9lbGVtZW50RHJhZ2dpbmdHbGFzc1BhbmUucmVtb3ZlKCk7CiAgICAgICAgICAgICBkZWxl
dGUgV2ViSW5zcGVjdG9yLl9lbGVtZW50RHJhZ2dpbmdHbGFzc1BhbmU7CiAgICAgICAgIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>