<?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>159696</bug_id>
          
          <creation_ts>2016-07-12 16:34:45 -0700</creation_ts>
          <short_desc>Uncaught Exception: TypeError: null is not an object (evaluating &apos;this._contentViewContainer.currentContentView.showsFilterBar&apos;)</short_desc>
          <delta_ts>2016-07-13 16:34:31 -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>http://daringfireball.net/</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="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Matt Baker">mattbaker</assigned_to>
          <cc>bburg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>joepeck</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>1210233</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-07-12 16:34:45 -0700</bug_when>
    <thetext>Summary:
Uncaught exception closing Timeline Tab while viewing Script &amp; Events Timeline.

Steps to Reproduce:
1. Inspect this page
2. Show timeline tab
3. Enable Scripts + Events timeline
4. Reload =&gt; populate timeline data
5. Select Script + Events timeline
6. Close Timeline Tab
  =&gt; Uncaught exception

Uncaught Exceptions:
 - TypeError: null is not an object (evaluating &apos;this._contentViewContainer.currentContentView.showsFilterBar&apos;) (at ScriptClusterTimelineView.js:65:80)
    showsFilterBar @ ScriptClusterTimelineView.js:65:80
    _updateFilterBar @ TimelineRecordingContentView.js:800:102
    _contentViewSelectionPathComponentDidChange @ TimelineRecordingContentView.js:325:30
    dispatch @ Object.js:162:30
    dispatchEventToListeners @ Object.js:177:21
    _currentContentViewDidChange @ ClusterContentView.js:225:38
    dispatch @ Object.js:162:30
    dispatchEventToListeners @ Object.js:169:17
    closeAllContentViews @ ContentViewContainer.js:345:38
    closed @ ClusterContentView.js:75:56
    _disassociateFromContentView @ ContentViewContainer.js:476:27
    closeAllContentViews @ ContentViewContainer.js:339:46
    closed @ TimelineRecordingContentView.js:198:79
    _disassociateFromContentView @ ContentViewContainer.js:476:27
    closeAllContentViews @ ContentViewContainer.js:339:46
    closed @ ContentBrowserTabContentView.js:121:71
    closed @ TimelineTabContentView.js:298:21
    _disassociateFromContentView @ ContentViewContainer.js:476:27
    closeContentView @ ContentViewContainer.js:309:46
    _tabBarItemRemoved @ TabBrowser.js:238:52
    dispatch @ Object.js:162:30
    dispatchEventToListeners @ Object.js:169:17
    removeTabBarItem @ TabBar.js:298:38
    _handleClick @ TabBar.js:607:34
    _handleClick @ [native code]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1210235</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-07-12 16:35:06 -0700</bug_when>
    <thetext>&lt;rdar://problem/27312356&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1210643</commentid>
    <comment_count>2</comment_count>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2016-07-13 13:41:41 -0700</bug_when>
    <thetext>By the time ScriptClusterTimelineView showFilterBar is called, currentContentView has been destroyed. Simply adding a null check fixes this, but just kicks the can down the road:

[Error] Assertion Failed: Record selected in hidden overview graph – null
	selectRecord (TimelineOverview.js:399)
	_contentViewSelectionPathComponentDidChange (TimelineRecordingContentView.js:338)
	dispatch (Object.js:162)
	dispatchEventToListeners (Object.js:177)
	_currentContentViewDidChange (ClusterContentView.js:225)
	dispatch (Object.js:162)
	dispatchEventToListeners (Object.js:169)
	closeAllContentViews (ContentViewContainer.js:345)
	closed (ClusterContentView.js:75)
	_disassociateFromContentView (ContentViewContainer.js:476)
	closeAllContentViews (ContentViewContainer.js:339)
	closed (TimelineRecordingContentView.js:198)
	_disassociateFromContentView (ContentViewContainer.js:476)
	closeAllContentViews (ContentViewContainer.js:339)
	closed (ContentBrowserTabContentView.js:121)
	closed (TimelineTabContentView.js:298)
	_disassociateFromContentView (ContentViewContainer.js:476)
	closeContentView (ContentViewContainer.js:309)
	_tabBarItemRemoved (TabBrowser.js:238)
	dispatch (Object.js:162)
	dispatchEventToListeners (Object.js:169)
	removeTabBarItem (TabBar.js:234)
	_handleClick (TabBar.js:607)
	_handleClick

Working on a solution which addresses both.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1210644</commentid>
    <comment_count>3</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-07-13 13:42:42 -0700</bug_when>
    <thetext>Well, probably _all_ of these forwarding messages should be resilient.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1210747</commentid>
    <comment_count>4</comment_count>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2016-07-13 15:17:40 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Well, probably _all_ of these forwarding messages should be resilient.

This is a separate but related issue. Both problems stem from TimelineRecordingContentView handling SelectedPathComponentsDidChange, which is emitted by ContentViewContainer.closeAllContentViews().

If ContentView had a &quot;closed&quot; property we could early return from the SelectedPathComponentsDidChange handle. Luckily we can use the &quot;visible&quot; property in the same way. Skipping these updates when the tab is hidden should be safe, since TimelineRecordingContentView.shown() triggers a CurrentContentViewDidChange -&gt; SelectedPathComponentsDidChange.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1210751</commentid>
    <comment_count>5</comment_count>
      <attachid>283579</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2016-07-13 15:29:49 -0700</bug_when>
    <thetext>Created attachment 283579
[Patch] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1210753</commentid>
    <comment_count>6</comment_count>
      <attachid>283579</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-07-13 15:33:22 -0700</bug_when>
    <thetext>Comment on attachment 283579
[Patch] Proposed Fix

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

r=me

&gt; Source/WebInspectorUI/UserInterface/Views/TimelineRecordingContentView.js:322
&gt; -        if (event.target !== this._timelineContentBrowser.currentContentView)
&gt; +        if (!this.visible || event.target !== this._timelineContentBrowser.currentContentView)

Style: This would read better as a separate if + bail. These are two very different conditions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1210756</commentid>
    <comment_count>7</comment_count>
      <attachid>283581</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2016-07-13 15:37:38 -0700</bug_when>
    <thetext>Created attachment 283581
[Patch] For Landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1210773</commentid>
    <comment_count>8</comment_count>
      <attachid>283581</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-13 16:34:27 -0700</bug_when>
    <thetext>Comment on attachment 283581
[Patch] For Landing

Clearing flags on attachment: 283581

Committed r203198: &lt;http://trac.webkit.org/changeset/203198&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1210774</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-13 16:34:31 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>283579</attachid>
            <date>2016-07-13 15:29:49 -0700</date>
            <delta_ts>2016-07-13 15:37:35 -0700</delta_ts>
            <desc>[Patch] Proposed Fix</desc>
            <filename>bug-159696-20160713152904.patch</filename>
            <type>text/plain</type>
            <size>1890</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAzMTk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA2
NjkxMjdmODc3MGQzYWE2MzM2OTFiMjdlNjhhM2U1ZDY2NjdkNjg3Li45YmE3NGVjYzc5M2EwNmE3
ZTcwNjNjYmU2YzEzNjM4MzMyZGUxODEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxNi0wNy0xMyAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CisKKyAgICAgICAgVW5jYXVnaHQgRXhjZXB0aW9uOiBUeXBlRXJyb3I6IG51bGwgaXMgbm90IGFu
IG9iamVjdCAoZXZhbHVhdGluZyAndGhpcy5fY29udGVudFZpZXdDb250YWluZXIuY3VycmVudENv
bnRlbnRWaWV3LnNob3dzRmlsdGVyQmFyJykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE1OTY5NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjczMTIz
NTY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBV
c2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcuanM6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5cGUu
X2NvbnRlbnRWaWV3U2VsZWN0aW9uUGF0aENvbXBvbmVudERpZENoYW5nZSk6CisgICAgICAgIEVh
cmx5IHJldHVybiBpZiBjb250ZW50IHZpZXcgbm90IHZpc2libGUsIHNpbmNlIHRoZSBldmVudCBp
cyBzZW50IGR1cmluZworICAgICAgICB0YWIgdGVhcmRvd24gYW5kIHRoZSBjdXJyZW50IFRpbWVs
aW5lVmlldyBtYXkgYmUgaW52YWxpZC4KKwogMjAxNi0wNy0xMiAgSm9zZXBoIFBlY29yYXJvICA8
cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjE5Mjc4OSk6IFdlYiBJ
bnNwZWN0b3I6IExvZyBWYWx1ZSBjb250ZXh0IG1lbnUgYXBwZWFycyB0d2ljZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNv
cmRpbmdDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL1RpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcuanMKaW5kZXggYzM3YjljMWU1YjEz
ZjI3NThkYzI3ZTE1ZGNlMDg3M2VkMWM1ZmFjNS4uNGEzMzg3ZmRmNDYwM2E0OWE3M2RlY2Y3OTdj
NzliYzk2ZGFjMTE5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5qcworKysgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZGluZ0NvbnRl
bnRWaWV3LmpzCkBAIC0zMTksNyArMzE5LDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3Jk
aW5nQ29udGVudFZpZXcgPSBjbGFzcyBUaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3IGUKIAog
ICAgIF9jb250ZW50Vmlld1NlbGVjdGlvblBhdGhDb21wb25lbnREaWRDaGFuZ2UoZXZlbnQpCiAg
ICAgewotICAgICAgICBpZiAoZXZlbnQudGFyZ2V0ICE9PSB0aGlzLl90aW1lbGluZUNvbnRlbnRC
cm93c2VyLmN1cnJlbnRDb250ZW50VmlldykKKyAgICAgICAgaWYgKCF0aGlzLnZpc2libGUgfHwg
ZXZlbnQudGFyZ2V0ICE9PSB0aGlzLl90aW1lbGluZUNvbnRlbnRCcm93c2VyLmN1cnJlbnRDb250
ZW50VmlldykKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICB0aGlzLl91cGRhdGVGaWx0
ZXJCYXIoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>283581</attachid>
            <date>2016-07-13 15:37:38 -0700</date>
            <delta_ts>2016-07-13 16:34:27 -0700</delta_ts>
            <desc>[Patch] For Landing</desc>
            <filename>bug-159696-20160713153653.patch</filename>
            <type>text/plain</type>
            <size>1812</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAzMTk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA2
NjkxMjdmODc3MGQzYWE2MzM2OTFiMjdlNjhhM2U1ZDY2NjdkNjg3Li44NDZlZmI0NmE4NmFhMDI2
YjU5ZTExNWZlYzljOTlhOTU2ODBkM2JiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxNi0wNy0xMyAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CisKKyAgICAgICAgVW5jYXVnaHQgRXhjZXB0aW9uOiBUeXBlRXJyb3I6IG51bGwgaXMgbm90IGFu
IG9iamVjdCAoZXZhbHVhdGluZyAndGhpcy5fY29udGVudFZpZXdDb250YWluZXIuY3VycmVudENv
bnRlbnRWaWV3LnNob3dzRmlsdGVyQmFyJykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE1OTY5NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjczMTIz
NTY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSm9zZXBoIFBlY29yYXJvLgorCisgICAgICAgICog
VXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LmpzOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcucHJvdG90eXBl
Ll9jb250ZW50Vmlld1NlbGVjdGlvblBhdGhDb21wb25lbnREaWRDaGFuZ2UpOgorICAgICAgICBF
YXJseSByZXR1cm4gaWYgY29udGVudCB2aWV3IG5vdCB2aXNpYmxlLCBzaW5jZSB0aGUgZXZlbnQg
aXMgc2VudCBkdXJpbmcKKyAgICAgICAgdGFiIHRlYXJkb3duIGFuZCB0aGUgY3VycmVudCBUaW1l
bGluZVZpZXcgbWF5IGJlIGludmFsaWQuCisKIDIwMTYtMDctMTIgIEpvc2VwaCBQZWNvcmFybyAg
PHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIxOTI3ODkpOiBXZWIg
SW5zcGVjdG9yOiBMb2cgVmFsdWUgY29udGV4dCBtZW51IGFwcGVhcnMgdHdpY2UKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVj
b3JkaW5nQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LmpzCmluZGV4IGMzN2I5YzFlNWIx
M2YyNzU4ZGMyN2UxNWRjZTA4NzNlZDFjNWZhYzUuLmZkNWM0YjI4NzQyMTc3ZjAyNjg3MDA3YzNk
ZjJmZTIzMmVjZWU2MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcuanMKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRpbmdDb250
ZW50Vmlldy5qcwpAQCAtMzE5LDYgKzMxOSw5IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29y
ZGluZ0NvbnRlbnRWaWV3ID0gY2xhc3MgVGltZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldyBlCiAK
ICAgICBfY29udGVudFZpZXdTZWxlY3Rpb25QYXRoQ29tcG9uZW50RGlkQ2hhbmdlKGV2ZW50KQog
ICAgIHsKKyAgICAgICAgaWYgKCF0aGlzLnZpc2libGUpCisgICAgICAgICAgICByZXR1cm47CisK
ICAgICAgICAgaWYgKGV2ZW50LnRhcmdldCAhPT0gdGhpcy5fdGltZWxpbmVDb250ZW50QnJvd3Nl
ci5jdXJyZW50Q29udGVudFZpZXcpCiAgICAgICAgICAgICByZXR1cm47CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>