Created attachment 305243 [details] [Animated GIF] Bug Steps: 1. Open Network tab. 2. Navigate to http://www.websocket.org/echo.html. 3. On this web page, click "Connect" button. 4. In the Network left sidebar, select "echo.websocket.org" by clicking the right arrow icon right next to it. 5. On the web page, click "Send" to send a Web Socket message. Actual: Some seemingly random resource get selected. Expected: "echo.websocket.org" is still the selected resource. Notes: To reproduce this, you must have more than one resource visible in the Network sidebar.
<rdar://problem/31231463>
Exception that happens at the same time: [Error] Unknown tree element – undefined _treeSelectionDidChange (NetworkGridContentView.js:372) dispatch (Object.js:170) dispatchEventToListeners (Object.js:177) deselect (TreeElement.js:543) removeChildAtIndex (TreeOutline.js:244) removeChild (TreeOutline.js:285) _refreshDirtyDataGridNodes (TimelineDataGrid.js:272) _refreshDirtyDataGridNodes --- requestAnimationFrame --- dataGridNodeNeedsRefresh (TimelineDataGrid.js:198) _needsRefresh (ResourceTimelineDataGridNode.js:270) dispatch (Object.js:170) dispatchEventToListeners (Object.js:177) increaseSize (Resource.js:602) addFrame (WebSocketsResource.js:67) ...
Something happens in WebInspector.TimelineDataGrid that this.selectedNode no longer corresponds to an actual selected node. Also, resource selection changes for every resource, not just a WebSocket type, when increaseSize gets called. This is just wasn't as noticeable for other resource types.
Created attachment 305322 [details] Patch
Comment on attachment 305322 [details] Patch r=me
Comment on attachment 305322 [details] Patch Clearing flags on attachment: 305322 Committed r214387: <http://trac.webkit.org/changeset/214387>
All reviewed patches have been landed. Closing bug.