Bug 142315

Summary: Web Inspector: REGRESSION (r171645): up/down key navigation of timeline sidebar tree elements is broken when scope bar filters are applied
Product: WebKit Reporter: Brian Burg <burg>
Component: Web InspectorAssignee: Matt Baker <mattbaker>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, graouts, joepeck, jonowells, mattbaker, nvasilyev, timothy, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Attachments:
Description Flags
[Patch] Proposed Fix none

Description Brian Burg 2015-03-04 17:31:15 PST
Steps to reproduce:

1. Populate some timelines data
2. Select the Layout timeline
3. Select a scope bar filter for a record type that is non-contiguous (usually, Styles Invalidated and Styles Recalculated are fine)
4. Click on a record tree element in sidebar
5. Keyboard up/down until it stops working (beeps)

From my quick experiments, it appears that the sidebar content tree outline is rendered using the filtered tree elements, but pressing up/down keys tries to navigate to the next/previous unfiltered data grid node. If that node is filtered out, then nothing happens in response to key event (seems to eventually fire [NSResponder:noResponderFor] and beep.)
Comment 1 Radar WebKit Bug Importer 2015-03-04 17:31:33 PST
<rdar://problem/20048730>
Comment 2 Matt Baker 2015-05-29 13:31:32 PDT
Caused by http://trac.webkit.org/changeset/171645.

Looking over TreeOutline.js, the real problem seems to be with traverseNextTreeElement and traversePreviousTreeElement. The above revision changed the criteria for tree elements being considered revealed, causing the latent bug in element traversal to manifest.
Comment 3 Matt Baker 2015-06-09 15:47:31 PDT
Created attachment 254609 [details]
[Patch] Proposed Fix
Comment 4 Timothy Hatcher 2015-06-11 07:48:56 PDT
Comment on attachment 254609 [details]
[Patch] Proposed Fix

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

> Source/WebInspectorUI/UserInterface/Views/TreeOutline.js:1039
> +        var depthChange = 0;

Is this indent right?
Comment 5 Matt Baker 2015-06-15 17:25:31 PDT
(In reply to comment #4)
> Comment on attachment 254609 [details]
> [Patch] Proposed Fix
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=254609&action=review
> 
> > Source/WebInspectorUI/UserInterface/Views/TreeOutline.js:1039
> > +        var depthChange = 0;
> 
> Is this indent right?

Could you clarify?
Comment 6 Timothy Hatcher 2015-06-15 17:37:00 PDT
Comment on attachment 254609 [details]
[Patch] Proposed Fix

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

>>> Source/WebInspectorUI/UserInterface/Views/TreeOutline.js:1039
>>> +        var depthChange = 0;
>> 
>> Is this indent right?
> 
> Could you clarify?

The patch on my phone looks like this like is a 4 spaces less than it should be. It could be the rendering or maybe there is a tab?
Comment 7 Matt Baker 2015-06-16 16:43:28 PDT
Comment on attachment 254609 [details]
[Patch] Proposed Fix

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

>>>> Source/WebInspectorUI/UserInterface/Views/TreeOutline.js:1039
>>>> +        var depthChange = 0;
>>> 
>>> Is this indent right?
>> 
>> Could you clarify?
> 
> The patch on my phone looks like this like is a 4 spaces less than it should be. It could be the rendering or maybe there is a tab?

Weird, it looks that way on my phone too. It looks correct on my laptop, and I confirmed that the indentation is identical to the line below it.
Comment 8 WebKit Commit Bot 2015-06-16 17:33:46 PDT
Comment on attachment 254609 [details]
[Patch] Proposed Fix

Clearing flags on attachment: 254609

Committed r185629: <http://trac.webkit.org/changeset/185629>
Comment 9 WebKit Commit Bot 2015-06-16 17:33:50 PDT
All reviewed patches have been landed.  Closing bug.