<?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>234572</bug_id>
          
          <creation_ts>2021-12-21 11:40:40 -0800</creation_ts>
          <short_desc>Web Inspector: Assertion Failed removing subview in ContentViewContainer.prototype._disassociateFromContentView</short_desc>
          <delta_ts>2021-12-21 21:18:31 -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="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>pangle</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1826070</commentid>
    <comment_count>0</comment_count>
    <who name="Patrick Angle">pangle</who>
    <bug_when>2021-12-21 11:40:40 -0800</bug_when>
    <thetext>[Error] Assertion Failed: Subview DOM element must be a child of the parent view element.
	removeSubview (View.js:121)
	_disassociateFromContentView (ContentViewContainer.js:428)
	replaceContentView (ContentViewContainer.js:199)
	showContentView (ContentViewContainer.js:85)
	_showDOMTreeContentViewIfNeeded (ElementsTabContentView.js:144)
	_mainFrameDidChange (ElementsTabContentView.js:149)
	dispatch (Object.js:134)
	dispatchEventToListeners (Object.js:142)
	_mainFrameDidChange (NetworkManager.js:1384)
	_processMainFrameResourceTreePayload (NetworkManager.js:1240)
	_processMainFrameResourceTreePayload
	_dispatchResponseToCallback (Connection.js:152)
	_dispatchResponse (Connection.js:122)
	dispatch (Connection.js:77)
	dispatchProvisionalMessages (Connection.js:68)
	didCommitProvisionalTarget (TargetManager.js:151)
	didCommitProvisionalTarget (TargetObserver.js:37)
	_dispatchEvent (Connection.js:210)
	dispatch (Connection.js:79)
	dispatch (InspectorBackend.js:233)
	(anonymous function) (MessageDispatcher.js:42)

https://trac.webkit.org/changeset/283859/webkit removed the `isAttached` check for the content view by accident when refactoring this method to work with extension tabs, which should not be removed from the DOM, but it is not actually guaranteed that the content view is attached.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826071</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-21 11:41:04 -0800</bug_when>
    <thetext>&lt;rdar://problem/86778405&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826080</commentid>
    <comment_count>2</comment_count>
      <attachid>447741</attachid>
    <who name="Patrick Angle">pangle</who>
    <bug_when>2021-12-21 11:59:07 -0800</bug_when>
    <thetext>Created attachment 447741
Patch v1.0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826083</commentid>
    <comment_count>3</comment_count>
      <attachid>447741</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-12-21 12:18:03 -0800</bug_when>
    <thetext>Comment on attachment 447741
Patch v1.0

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

r=me

&gt; Source/WebInspectorUI/UserInterface/Views/ContentViewContainer.js:429
&gt; +            this.removeSubview(contentView);

So this call was added in r283728 and was originally guarded by `contentView.constructor.shouldNotRemoveFromDOMWhenHidden()`.  I&apos;m not really sure if we want this to be something that _always_ happens outside of that check (especially since almost all callers of this will call `_hideEntry` right before, which also does `removeSubview`).  Maybe we should restructure this so that it&apos;s all underneath `contentView.constructor.shouldNotRemoveFromDOMWhenHidden()`?
```
// Hidden/non-visible extension tabs must remain attached to the DOM to avoid reloading.
if (contentView.constructor.shouldNotRemoveFromDOMWhenHidden()) {
    if (!contentView.visible)
        return;

    if (contentView.attached)
        this.removeSubview(contentView);
}
```</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826085</commentid>
    <comment_count>4</comment_count>
      <attachid>447743</attachid>
    <who name="Patrick Angle">pangle</who>
    <bug_when>2021-12-21 12:34:13 -0800</bug_when>
    <thetext>Created attachment 447743
Patch v1.1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826216</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-21 21:18:29 -0800</bug_when>
    <thetext>Committed r287346 (245488@main): &lt;https://commits.webkit.org/245488@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 447743.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447741</attachid>
            <date>2021-12-21 11:59:07 -0800</date>
            <delta_ts>2021-12-21 12:34:11 -0800</delta_ts>
            <desc>Patch v1.0</desc>
            <filename>bug-234572-20211221115906.patch</filename>
            <type>text/plain</type>
            <size>1726</size>
            <attacher name="Patrick Angle">pangle</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MjYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBi
MjQ0NmI2YjhhODU4N2FkY2I3MmE1M2U4MDI4MTA3NjViMGRlOGJlLi44MmE0MmZkMDIwYTg1Yzhk
MjVmMTg0ODljZGRjZmNmMzlkZGM4NTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAyMS0xMi0yMSAgUGF0cmljayBBbmdsZSAgPHBhbmdsZUBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQXNzZXJ0aW9uIEZhaWxlZCByZW1vdmluZyBzdWJ2
aWV3IGluIENvbnRlbnRWaWV3Q29udGFpbmVyLnByb3RvdHlwZS5fZGlzYXNzb2NpYXRlRnJvbUNv
bnRlbnRWaWV3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzQ1NzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICByMjgzODU5IGFjY2lkZW50YWxseSByZW1vdmVkIHRoZSBjaGVjayB0aGF0IGEgY29udGVudCB2
aWV3IGlzIGF0dGFjaGVkIGJlZm9yZSBhdHRlbXB0aW5nIHRvIHJlbW92ZSBpdCwgbGVhZGluZwor
ICAgICAgICB0byBhbiBhc3NlcnRpb24uCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdz
L0NvbnRlbnRWaWV3Q29udGFpbmVyLmpzOgorICAgICAgICAoV0kuQ29udGVudFZpZXdDb250YWlu
ZXIucHJvdG90eXBlLl9kaXNhc3NvY2lhdGVGcm9tQ29udGVudFZpZXcpOgorCiAyMDIxLTEyLTE2
ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgogCiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQxNzMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnRlbnRWaWV3Q29udGFpbmVy
LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29udGVudFZp
ZXdDb250YWluZXIuanMKaW5kZXggZWI0MjhlODEyNGRkNTY4M2ZkYjg2NmM0MjNiZTFhYzBkZWYy
MmE2ZC4uMThjZTJjZTA0ZWExZmU4ZGEwNDJiY2Q2NzlmNWZiNGEwZGI2YTQ0MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29udGVudFZpZXdD
b250YWluZXIuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvQ29udGVudFZpZXdDb250YWluZXIuanMKQEAgLTQyNSw3ICs0MjUsOCBAQCBXSS5Db250ZW50
Vmlld0NvbnRhaW5lciA9IGNsYXNzIENvbnRlbnRWaWV3Q29udGFpbmVyIGV4dGVuZHMgV0kuVmll
dwogICAgICAgICBpZiAoY29udGVudFZpZXcuY29uc3RydWN0b3Iuc2hvdWxkTm90UmVtb3ZlRnJv
bURPTVdoZW5IaWRkZW4oKSAmJiAhY29udGVudFZpZXcudmlzaWJsZSkKICAgICAgICAgICAgIHJl
dHVybjsKIAotICAgICAgICB0aGlzLnJlbW92ZVN1YnZpZXcoY29udGVudFZpZXcpOworICAgICAg
ICBpZiAoY29udGVudFZpZXcuaXNBdHRhY2hlZCkKKyAgICAgICAgICAgIHRoaXMucmVtb3ZlU3Vi
dmlldyhjb250ZW50Vmlldyk7CiAKICAgICAgICAgY29uc29sZS5hc3NlcnQoIWNvbnRlbnRWaWV3
LmlzQXR0YWNoZWQpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447743</attachid>
            <date>2021-12-21 12:34:13 -0800</date>
            <delta_ts>2021-12-21 21:18:30 -0800</delta_ts>
            <desc>Patch v1.1</desc>
            <filename>bug-234572-20211221123412.patch</filename>
            <type>text/plain</type>
            <size>2119</size>
            <attacher name="Patrick Angle">pangle</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MjYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBi
MjQ0NmI2YjhhODU4N2FkY2I3MmE1M2U4MDI4MTA3NjViMGRlOGJlLi5lMzBiMTQyMjg2MzE1ZmYw
Yjk2ZDBlNDhmZGU0OTA1NzM4ZDg1MzMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAyMS0xMi0yMSAgUGF0cmljayBBbmdsZSAgPHBhbmdsZUBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQXNzZXJ0aW9uIEZhaWxlZCByZW1vdmluZyBzdWJ2
aWV3IGluIENvbnRlbnRWaWV3Q29udGFpbmVyLnByb3RvdHlwZS5fZGlzYXNzb2NpYXRlRnJvbUNv
bnRlbnRWaWV3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzQ1NzIKKworICAgICAgICBSZXZpZXdlZCBieSBEZXZpbiBSb3Vzc28uCisKKyAgICAgICAg
cjI4Mzg1OSBhY2NpZGVudGFsbHkgcmVtb3ZlZCB0aGUgY2hlY2tzIHRoYXQgYSBjb250ZW50IHZp
ZXcgaXMgYXR0YWNoZWQgYmVmb3JlIGF0dGVtcHRpbmcgdG8gcmVtb3ZlIGl0LCBsZWFkaW5nCisg
ICAgICAgIHRvIGFuIGFzc2VydGlvbi4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3Mv
Q29udGVudFZpZXdDb250YWluZXIuanM6CisgICAgICAgIChXSS5Db250ZW50Vmlld0NvbnRhaW5l
ci5wcm90b3R5cGUuX2Rpc2Fzc29jaWF0ZUZyb21Db250ZW50Vmlldyk6CisKIDIwMjEtMTItMTYg
IE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CiAKICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDE3MwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29udGVudFZpZXdDb250YWluZXIu
anMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db250ZW50Vmll
d0NvbnRhaW5lci5qcwppbmRleCBlYjQyOGU4MTI0ZGQ1NjgzZmRiODY2YzQyM2JlMWFjMGRlZjIy
YTZkLi4xMDllOGQ3M2FkYWMwN2FkMTc5ZGMyYzU0MTg1ZjVhOTRiNDI2NjcwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db250ZW50Vmlld0Nv
bnRhaW5lci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9Db250ZW50Vmlld0NvbnRhaW5lci5qcwpAQCAtNDIxLDExICs0MjEsMTQgQEAgV0kuQ29udGVu
dFZpZXdDb250YWluZXIgPSBjbGFzcyBDb250ZW50Vmlld0NvbnRhaW5lciBleHRlbmRzIFdJLlZp
ZXcKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAgIC8vIEhpZGRlbi9u
b24tdmlzaWJsZSBleHRlbnNpb24gdGFicyBtdXN0IHJlbWFpbiBhdHRhY2hlZCB0byB0aGUgRE9N
IHRvIGF2b2lkIHJlbG9hZGluZy4KLSAgICAgICAgaWYgKGNvbnRlbnRWaWV3LmNvbnN0cnVjdG9y
LnNob3VsZE5vdFJlbW92ZUZyb21ET01XaGVuSGlkZGVuKCkgJiYgIWNvbnRlbnRWaWV3LnZpc2li
bGUpCi0gICAgICAgICAgICByZXR1cm47CisgICAgICAgIGlmIChjb250ZW50Vmlldy5jb25zdHJ1
Y3Rvci5zaG91bGROb3RSZW1vdmVGcm9tRE9NV2hlbkhpZGRlbigpKSB7CisgICAgICAgICAgICAv
LyBIaWRkZW4vbm9uLXZpc2libGUgZXh0ZW5zaW9uIHRhYnMgbXVzdCByZW1haW4gYXR0YWNoZWQg
dG8gdGhlIERPTSB0byBhdm9pZCByZWxvYWRpbmcuCisgICAgICAgICAgICBpZiAoIWNvbnRlbnRW
aWV3LnZpc2libGUpCisgICAgICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIHRoaXMucmVt
b3ZlU3Vidmlldyhjb250ZW50Vmlldyk7CisgICAgICAgICAgICBpZiAoY29udGVudFZpZXcuaXNB
dHRhY2hlZCkKKyAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZVN1YnZpZXcoY29udGVudFZpZXcp
OworICAgICAgICB9CiAKICAgICAgICAgY29uc29sZS5hc3NlcnQoIWNvbnRlbnRWaWV3LmlzQXR0
YWNoZWQpOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>