<?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>230287</bug_id>
          
          <creation_ts>2021-09-14 18:21:47 -0700</creation_ts>
          <short_desc>Web Inspector: `TreeOutline` should return early when failing to find an ancestor while populating the tree</short_desc>
          <delta_ts>2021-09-15 15:12:10 -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>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="Patrick Angle">pangle</reporter>
          <assigned_to name="Patrick Angle">pangle</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1793554</commentid>
    <comment_count>0</comment_count>
    <who name="Patrick Angle">pangle</who>
    <bug_when>2021-09-14 18:21:47 -0700</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793555</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-14 18:22:02 -0700</bug_when>
    <thetext>&lt;rdar://problem/83125960&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793563</commentid>
    <comment_count>2</comment_count>
      <attachid>438201</attachid>
    <who name="Patrick Angle">pangle</who>
    <bug_when>2021-09-14 18:31:56 -0700</bug_when>
    <thetext>Created attachment 438201
Patch v1.0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793772</commentid>
    <comment_count>3</comment_count>
      <attachid>438201</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-09-15 11:20:02 -0700</bug_when>
    <thetext>Comment on attachment 438201
Patch v1.0

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

r=me, good catch :)

&gt; Source/WebInspectorUI/UserInterface/Views/TreeOutline.js:518
&gt;              item = this.findTreeElement(ancestors[i], isAncestor, getParent);

Aside: I wonder if maybe this should just be `this.getCachedTreeElement(ancestors[i])`, as there&apos;s really no point to walking up the `getParent` chain again since we&apos;ve already done that.  Tho you might need to duplicate the bit that iterates over `this.children`, but conceptually if we have an item inside `this.children` then it should already be cached.

&gt; Source/WebInspectorUI/UserInterface/Views/TreeOutline.js:520
&gt; +                return;

this should be `return null;` to match the other `return`</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793778</commentid>
    <comment_count>4</comment_count>
      <attachid>438201</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-09-15 11:28:10 -0700</bug_when>
    <thetext>Comment on attachment 438201
Patch v1.0

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

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/TreeOutline.js:518
&gt;&gt;              item = this.findTreeElement(ancestors[i], isAncestor, getParent);
&gt; 
&gt; Aside: I wonder if maybe this should just be `this.getCachedTreeElement(ancestors[i])`, as there&apos;s really no point to walking up the `getParent` chain again since we&apos;ve already done that.  Tho you might need to duplicate the bit that iterates over `this.children`, but conceptually if we have an item inside `this.children` then it should already be cached.

Aside: we may also wanna add an early-return above the `while` if `getParent` is NOT provided, as right now it&apos;s kinda this silent assumption 😅</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793852</commentid>
    <comment_count>5</comment_count>
      <attachid>438291</attachid>
    <who name="Patrick Angle">pangle</who>
    <bug_when>2021-09-15 14:37:01 -0700</bug_when>
    <thetext>Created attachment 438291
Patch v1.1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793873</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-09-15 15:12:08 -0700</bug_when>
    <thetext>Committed r282477 (241725@main): &lt;https://commits.webkit.org/241725@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 438291.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438201</attachid>
            <date>2021-09-14 18:31:56 -0700</date>
            <delta_ts>2021-09-15 14:37:00 -0700</delta_ts>
            <desc>Patch v1.0</desc>
            <filename>bug-230287-20210914183156.patch</filename>
            <type>text/plain</type>
            <size>1834</size>
            <attacher name="Patrick Angle">pangle</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyMzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCAz
NTJiZDZjODI5ODA4ZTdhNmM3YzZkNmUwMTA2YTdkNGQzOTYwZTk3Li5hNDUwYTU2YTczMzA0MWU3
ZTJkYzg1YWRjZGJiYzFhOWJhMzdmNTBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAyMS0wOS0xNCAgUGF0cmljayBBbmdsZSAgPHBhbmdsZUBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogYFRyZWVPdXRsaW5lYCBzaG91bGQgcmV0dXJuIGVh
cmx5IHdoZW4gZmFpbGluZyB0byBmaW5kIGFuIGFuY2VzdG9yIHdoaWxlIHBvcHVsYXRpbmcgdGhl
IHRyZWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
MDI4NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdo
ZW4gYW4gYW5jZXN0b3IgY2FuIG5vdCBiZSBmb3VuZCwgd2Ugc2hvdWxkIHJldHVybiB0byBwcmV2
ZW50IGFkZGl0aW9uYWwgd29yayAod2hpY2ggd2lsbCBmYWlsKSBmcm9tIGJlaW5nIGRvbmUuCisK
KyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRsaW5lLmpzOgorICAgICAgICAo
V0kuVHJlZU91dGxpbmUucHJvdG90eXBlLmZpbmRUcmVlRWxlbWVudCk6CisKIDIwMjEtMDktMTMg
IFJhenZhbiBDYWxpbWFuICA8cmNhbGltYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IFVwZGF0ZSBuYW1pbmcgb2YgV0kuQ1NTQ29tcGxldGlvbnMgY2FsbGJhY2sgdXNlZCBm
b3IgY29sbGVjdGluZyBzdXBwb3J0ZWQgQ1NTIHByb3BlcnRpZXMgZnJvbSB0aGUgdGFyZ2V0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UcmVl
T3V0bGluZS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Ry
ZWVPdXRsaW5lLmpzCmluZGV4IDQxMTZmM2JlMGM3YjFhNzhkM2I1MjdiMjIzNDNhZjFlYzExMDIy
NWMuLjVkODFkZTVhYWQ5NjdjMjBiYzYxMjYyNGUwNjEwMTBmODMyOTdmNTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRsaW5lLmpz
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRs
aW5lLmpzCkBAIC01MTYsOCArNTE2LDEwIEBAIFdJLlRyZWVPdXRsaW5lID0gY2xhc3MgVHJlZU91
dGxpbmUgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgICAgIC8vIEZJWE1FOiB3ZSBjb3VsZCBk
byBzb21ldGhpbmcgZmFzdGVyIHRoYW4gZmluZFRyZWVFbGVtZW50IHNpbmNlIHdlIHdpbGwga25v
dyB0aGUgbmV4dAogICAgICAgICAgICAgLy8gYW5jZXN0b3IgZXhpc3RzIGluIHRoZSB0cmVlLgog
ICAgICAgICAgICAgaXRlbSA9IHRoaXMuZmluZFRyZWVFbGVtZW50KGFuY2VzdG9yc1tpXSwgaXNB
bmNlc3RvciwgZ2V0UGFyZW50KTsKLSAgICAgICAgICAgIGlmIChpdGVtKQotICAgICAgICAgICAg
ICAgIGl0ZW0ub25wb3B1bGF0ZSgpOworICAgICAgICAgICAgaWYgKCFpdGVtKQorICAgICAgICAg
ICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgaXRlbS5vbnBvcHVsYXRlKCk7CiAgICAgICAg
IH0KIAogICAgICAgICByZXR1cm4gdGhpcy5nZXRDYWNoZWRUcmVlRWxlbWVudChyZXByZXNlbnRl
ZE9iamVjdCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438291</attachid>
            <date>2021-09-15 14:37:01 -0700</date>
            <delta_ts>2021-09-15 15:12:09 -0700</delta_ts>
            <desc>Patch v1.1</desc>
            <filename>bug-230287-20210915143700.patch</filename>
            <type>text/plain</type>
            <size>1837</size>
            <attacher name="Patrick Angle">pangle</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyMzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCAz
NTJiZDZjODI5ODA4ZTdhNmM3YzZkNmUwMTA2YTdkNGQzOTYwZTk3Li41NTkzNWJkODgyYTRjYzY0
NTVkODY4ZjBjMTU2ZDk3OTNmODZiNjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAyMS0wOS0xNCAgUGF0cmljayBBbmdsZSAgPHBhbmdsZUBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogYFRyZWVPdXRsaW5lYCBzaG91bGQgcmV0dXJuIGVh
cmx5IHdoZW4gZmFpbGluZyB0byBmaW5kIGFuIGFuY2VzdG9yIHdoaWxlIHBvcHVsYXRpbmcgdGhl
IHRyZWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
MDI4NworCisgICAgICAgIFJldmlld2VkIGJ5IERldmluIFJvdXNzby4KKworICAgICAgICBXaGVu
IGFuIGFuY2VzdG9yIGNhbiBub3QgYmUgZm91bmQsIHdlIHNob3VsZCByZXR1cm4gdG8gcHJldmVu
dCBhZGRpdGlvbmFsIHdvcmsgKHdoaWNoIHdpbGwgZmFpbCkgZnJvbSBiZWluZyBkb25lLgorCisg
ICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UcmVlT3V0bGluZS5qczoKKyAgICAgICAgKFdJ
LlRyZWVPdXRsaW5lLnByb3RvdHlwZS5maW5kVHJlZUVsZW1lbnQpOgorCiAyMDIxLTA5LTEzICBS
YXp2YW4gQ2FsaW1hbiAgPHJjYWxpbWFuQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVj
dG9yOiBVcGRhdGUgbmFtaW5nIG9mIFdJLkNTU0NvbXBsZXRpb25zIGNhbGxiYWNrIHVzZWQgZm9y
IGNvbGxlY3Rpbmcgc3VwcG9ydGVkIENTUyBwcm9wZXJ0aWVzIGZyb20gdGhlIHRhcmdldApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVHJlZU91
dGxpbmUuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UcmVl
T3V0bGluZS5qcwppbmRleCA0MTE2ZjNiZTBjN2IxYTc4ZDNiNTI3YjIyMzQzYWYxZWMxMTAyMjVj
Li4yMDM1ZDE2ZTg5MTM1MjY2ZTkwNDE3MmY4MGFlNDE5ODUzNjVmMzEyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UcmVlT3V0bGluZS5qcwor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UcmVlT3V0bGlu
ZS5qcwpAQCAtNTE2LDggKzUxNiwxMCBAQCBXSS5UcmVlT3V0bGluZSA9IGNsYXNzIFRyZWVPdXRs
aW5lIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgICAgICAvLyBGSVhNRTogd2UgY291bGQgZG8g
c29tZXRoaW5nIGZhc3RlciB0aGFuIGZpbmRUcmVlRWxlbWVudCBzaW5jZSB3ZSB3aWxsIGtub3cg
dGhlIG5leHQKICAgICAgICAgICAgIC8vIGFuY2VzdG9yIGV4aXN0cyBpbiB0aGUgdHJlZS4KICAg
ICAgICAgICAgIGl0ZW0gPSB0aGlzLmZpbmRUcmVlRWxlbWVudChhbmNlc3RvcnNbaV0sIGlzQW5j
ZXN0b3IsIGdldFBhcmVudCk7Ci0gICAgICAgICAgICBpZiAoaXRlbSkKLSAgICAgICAgICAgICAg
ICBpdGVtLm9ucG9wdWxhdGUoKTsKKyAgICAgICAgICAgIGlmICghaXRlbSkKKyAgICAgICAgICAg
ICAgICByZXR1cm4gbnVsbDsKKworICAgICAgICAgICAgaXRlbS5vbnBvcHVsYXRlKCk7CiAgICAg
ICAgIH0KIAogICAgICAgICByZXR1cm4gdGhpcy5nZXRDYWNoZWRUcmVlRWxlbWVudChyZXByZXNl
bnRlZE9iamVjdCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>