<?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>194242</bug_id>
          
          <creation_ts>2019-02-04 15:15:17 -0800</creation_ts>
          <short_desc>Web Inspector: REGRESSION: Resources: WI.TreeOutline assertions when refreshing the page</short_desc>
          <delta_ts>2019-02-04 17:08:47 -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</component>
          <version>WebKit 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="Devin Rousso">hi</reporter>
          <assigned_to name="Matt Baker">mattbaker</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>mattbaker</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1502050</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-02-04 15:15:17 -0800</bug_when>
    <thetext># Steps to reproduce:
1. inspect &lt;https://apple.com&gt;
2. select the &lt;https://apple.com&gt; frame tree element in the Resources tab
3. refresh the page
 =&gt; many assertions fire
     - Assertion Failed: Unable to get index for tree element.
     - Assertion Failed: Index must be a non-negative integer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1502051</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-02-04 15:15:57 -0800</bug_when>
    <thetext>&lt;rdar://problem/47802027&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1502054</commentid>
    <comment_count>2</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-02-04 15:17:31 -0800</bug_when>
    <thetext>It looks like `WI.TreeOutline`&apos;s `_cachedNumberOfDescendents` is a negative value.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1502094</commentid>
    <comment_count>3</comment_count>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2019-02-04 16:26:26 -0800</bug_when>
    <thetext>Did some digging. When the frame navigates, FrameTreeElement calls TreeElement.prototype.removeChildren, which the immediate base class, FolderizedTreeElement overrides:

removeChildren()
{
    super.removeChildren();

    this._clearNewChildQueue();

    for (var folder of this._folderTypeMap.values())
        folder.removeChildren();

    this._folderExpandedSettingMap.clear();
    this._folderTypeMap.clear();

    this._groupedIntoFolders = false;
}

Calling `removeChildren` for each FolderTreeElement leads to the assertions when trying to calculate the indexes of TreeElements which are no longer attached the tree.

I think the fix is to simply remove this step. I don&apos;t think it is necessary. We clear the map below, and I don&apos;t believe we hold on to any references to the FolderTreeElements after this function returns.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1502095</commentid>
    <comment_count>4</comment_count>
      <attachid>361124</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2019-02-04 16:26:47 -0800</bug_when>
    <thetext>Created attachment 361124
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1502107</commentid>
    <comment_count>5</comment_count>
      <attachid>361124</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-02-04 16:37:28 -0800</bug_when>
    <thetext>Comment on attachment 361124
Patch

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

&gt; Source/WebInspectorUI/ChangeLog:12
&gt; +        Calling `removeChildren` for deteached TreeElements is unnecessary.

Typo: deteached =&gt; detached</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1502110</commentid>
    <comment_count>6</comment_count>
      <attachid>361126</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2019-02-04 16:41:20 -0800</bug_when>
    <thetext>Created attachment 361126
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1502130</commentid>
    <comment_count>7</comment_count>
      <attachid>361126</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-02-04 17:08:46 -0800</bug_when>
    <thetext>Comment on attachment 361126
Patch for landing

Clearing flags on attachment: 361126

Committed r240950: &lt;https://trac.webkit.org/changeset/240950&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1502131</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-02-04 17:08:47 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>361124</attachid>
            <date>2019-02-04 16:26:47 -0800</date>
            <delta_ts>2019-02-04 16:41:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194242-20190204162646.patch</filename>
            <type>text/plain</type>
            <size>1885</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwOTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA5
MGEzYmY5NGNlODFkZTdiNWVkMjgzNjdiNjliYjk1OTIxYTgzZjU1Li4yYzM4YzBkMWY3NmY4ZmI0
YWYzZGIyOTNkODdkOTljNzExNTAxMTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxOS0wMi0wNCAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogUkVHUkVTU0lPTjogUmVzb3VyY2VzOiBXSS5UcmVl
T3V0bGluZSBhc3NlcnRpb25zIHdoZW4gcmVmcmVzaGluZyB0aGUgcGFnZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0MjQyCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS80NzgwMjAyNz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvRm9sZGVyaXplZFRyZWVFbGVtZW50
LmpzOgorICAgICAgICAoV0kuRm9sZGVyaXplZFRyZWVFbGVtZW50LnByb3RvdHlwZS5yZW1vdmVD
aGlsZHJlbik6CisgICAgICAgIEZvbGRlclRyZWVFbGVtZW50cyBhcmUgcmVtb3ZlZCBieSB0aGUg
YmFzZSBjbGFzcyBjYWxsIHRvIHJlbW92ZUNoaWxkcmVuLgorICAgICAgICBDYWxsaW5nIGByZW1v
dmVDaGlsZHJlbmAgZm9yIGRldGVhY2hlZCBUcmVlRWxlbWVudHMgaXMgdW5uZWNlc3NhcnkuCisK
IDIwMTktMDItMDQgIE1hdHQgQmFrZXIgIDxtYXR0YmFrZXJAYXBwbGUuY29tPgogCiAgICAgICAg
IFdlYiBJbnNwZWN0b3I6IFJFR1JFU1NJT046IGNsaWNraW5nIGEgc2VsZWN0ZWQgY2FsbCBmcmFt
ZSBkb2Vzbid0IHJlLXNjcm9sbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvRm9sZGVyaXplZFRyZWVFbGVtZW50LmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRm9sZGVyaXplZFRyZWVFbGVtZW50LmpzCmlu
ZGV4IDFlZGFkMGQ4MmU3NWYwMWM4ZmRkNzk5ZWNkOGY5MzcwZjJkYWU4OGMuLmMxZTU0NmI0Mjcw
MmM5MGM4YmIzY2M1YTRiZjRlYTM0MWVhZGUzODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0ZvbGRlcml6ZWRUcmVlRWxlbWVudC5qcworKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Gb2xkZXJpemVkVHJl
ZUVsZW1lbnQuanMKQEAgLTY5LDE3ICs2OSwxMiBAQCBXSS5Gb2xkZXJpemVkVHJlZUVsZW1lbnQg
PSBjbGFzcyBGb2xkZXJpemVkVHJlZUVsZW1lbnQgZXh0ZW5kcyBXSS5HZW5lcmFsVHJlZUVsZQog
ICAgICAgICB0aGlzLl9mb2xkZXJpemVTZXR0aW5nc01hcC5zZXQodHlwZSwgc2V0dGluZ3MpOwog
ICAgIH0KIAotICAgIC8vIE92ZXJyaWRlcyBmcm9tIFRyZWVFbGVtZW50IChQcml2YXRlKS4KLQog
ICAgIHJlbW92ZUNoaWxkcmVuKCkKICAgICB7CiAgICAgICAgIHN1cGVyLnJlbW92ZUNoaWxkcmVu
KCk7CiAKICAgICAgICAgdGhpcy5fY2xlYXJOZXdDaGlsZFF1ZXVlKCk7CiAKLSAgICAgICAgZm9y
ICh2YXIgZm9sZGVyIG9mIHRoaXMuX2ZvbGRlclR5cGVNYXAudmFsdWVzKCkpCi0gICAgICAgICAg
ICBmb2xkZXIucmVtb3ZlQ2hpbGRyZW4oKTsKLQogICAgICAgICB0aGlzLl9mb2xkZXJFeHBhbmRl
ZFNldHRpbmdNYXAuY2xlYXIoKTsKICAgICAgICAgdGhpcy5fZm9sZGVyVHlwZU1hcC5jbGVhcigp
OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>361126</attachid>
            <date>2019-02-04 16:41:20 -0800</date>
            <delta_ts>2019-02-04 17:08:46 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-194242-20190204164120.patch</filename>
            <type>text/plain</type>
            <size>1885</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwOTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA5
MGEzYmY5NGNlODFkZTdiNWVkMjgzNjdiNjliYjk1OTIxYTgzZjU1Li4zMTA2YzViNWExOTE2YzVl
YmQwOWM2ZGYyN2E5YmQ4ZmVhNjc1NjYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxOS0wMi0wNCAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogUkVHUkVTU0lPTjogUmVzb3VyY2VzOiBXSS5UcmVl
T3V0bGluZSBhc3NlcnRpb25zIHdoZW4gcmVmcmVzaGluZyB0aGUgcGFnZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0MjQyCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS80NzgwMjAyNz4KKworICAgICAgICBSZXZpZXdlZCBieSBKb3NlcGggUGVjb3Jh
cm8uCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0ZvbGRlcml6ZWRUcmVlRWxlbWVu
dC5qczoKKyAgICAgICAgKFdJLkZvbGRlcml6ZWRUcmVlRWxlbWVudC5wcm90b3R5cGUucmVtb3Zl
Q2hpbGRyZW4pOgorICAgICAgICBGb2xkZXJUcmVlRWxlbWVudHMgYXJlIHJlbW92ZWQgYnkgdGhl
IGJhc2UgY2xhc3MgY2FsbCB0byByZW1vdmVDaGlsZHJlbi4KKyAgICAgICAgQ2FsbGluZyBgcmVt
b3ZlQ2hpbGRyZW5gIGZvciBkZXRhY2hlZCBUcmVlRWxlbWVudHMgaXMgdW5uZWNlc3NhcnkuCisK
IDIwMTktMDItMDQgIE1hdHQgQmFrZXIgIDxtYXR0YmFrZXJAYXBwbGUuY29tPgogCiAgICAgICAg
IFdlYiBJbnNwZWN0b3I6IFJFR1JFU1NJT046IGNsaWNraW5nIGEgc2VsZWN0ZWQgY2FsbCBmcmFt
ZSBkb2Vzbid0IHJlLXNjcm9sbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvRm9sZGVyaXplZFRyZWVFbGVtZW50LmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRm9sZGVyaXplZFRyZWVFbGVtZW50LmpzCmlu
ZGV4IDFlZGFkMGQ4MmU3NWYwMWM4ZmRkNzk5ZWNkOGY5MzcwZjJkYWU4OGMuLmMxZTU0NmI0Mjcw
MmM5MGM4YmIzY2M1YTRiZjRlYTM0MWVhZGUzODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0ZvbGRlcml6ZWRUcmVlRWxlbWVudC5qcworKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Gb2xkZXJpemVkVHJl
ZUVsZW1lbnQuanMKQEAgLTY5LDE3ICs2OSwxMiBAQCBXSS5Gb2xkZXJpemVkVHJlZUVsZW1lbnQg
PSBjbGFzcyBGb2xkZXJpemVkVHJlZUVsZW1lbnQgZXh0ZW5kcyBXSS5HZW5lcmFsVHJlZUVsZQog
ICAgICAgICB0aGlzLl9mb2xkZXJpemVTZXR0aW5nc01hcC5zZXQodHlwZSwgc2V0dGluZ3MpOwog
ICAgIH0KIAotICAgIC8vIE92ZXJyaWRlcyBmcm9tIFRyZWVFbGVtZW50IChQcml2YXRlKS4KLQog
ICAgIHJlbW92ZUNoaWxkcmVuKCkKICAgICB7CiAgICAgICAgIHN1cGVyLnJlbW92ZUNoaWxkcmVu
KCk7CiAKICAgICAgICAgdGhpcy5fY2xlYXJOZXdDaGlsZFF1ZXVlKCk7CiAKLSAgICAgICAgZm9y
ICh2YXIgZm9sZGVyIG9mIHRoaXMuX2ZvbGRlclR5cGVNYXAudmFsdWVzKCkpCi0gICAgICAgICAg
ICBmb2xkZXIucmVtb3ZlQ2hpbGRyZW4oKTsKLQogICAgICAgICB0aGlzLl9mb2xkZXJFeHBhbmRl
ZFNldHRpbmdNYXAuY2xlYXIoKTsKICAgICAgICAgdGhpcy5fZm9sZGVyVHlwZU1hcC5jbGVhcigp
OwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>