Bug 192487 - Web Inspector: Move TreeOutlineGroup coordination out of TreeElement
Summary: Web Inspector: Move TreeOutlineGroup coordination out of TreeElement
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Web Inspector (show other bugs)
Version: WebKit Nightly Build
Hardware: All All
: P4 Normal
Assignee: Matt Baker
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2018-12-06 18:34 PST by Matt Baker
Modified: 2018-12-10 14:03 PST (History)
6 users (show)

See Also:


Attachments
Patch (5.08 KB, patch)
2018-12-06 18:37 PST, Matt Baker
no flags Details | Formatted Diff | Diff
Archive of layout-test-results from ews107 for mac-sierra-wk2 (3.33 MB, application/zip)
2018-12-06 19:32 PST, EWS Watchlist
no flags Details
Patch for landing (5.46 KB, patch)
2018-12-10 13:22 PST, Matt Baker
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Matt Baker 2018-12-06 18:34:28 PST
TreeOutlineGroup should respond to SelectionDidChange events from TreeOutlines it tracks, rather than the current intrusive approach where TreeElement calls back into the group.
Comment 1 Radar WebKit Bug Importer 2018-12-06 18:34:45 PST
<rdar://problem/46543431>
Comment 2 Matt Baker 2018-12-06 18:37:48 PST
Created attachment 356775 [details]
Patch
Comment 3 EWS Watchlist 2018-12-06 19:32:09 PST
Comment on attachment 356775 [details]
Patch

Attachment 356775 [details] did not pass mac-wk2-ews (mac-wk2):
Output: https://webkit-queues.webkit.org/results/10299193

New failing tests:
fast/visual-viewport/tiled-drawing/zoomed-fixed-scrolling-layers-state.html
Comment 4 EWS Watchlist 2018-12-06 19:32:10 PST
Created attachment 356777 [details]
Archive of layout-test-results from ews107 for mac-sierra-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews107  Port: mac-sierra-wk2  Platform: Mac OS X 10.12.6
Comment 5 Devin Rousso 2018-12-07 11:42:26 PST
Comment on attachment 356775 [details]
Patch

r+

I did notice some unrealted selection issues (not sure if it relates to something that's already been filed).

* STEPS TO REPRODUCE:
1. open WebInspector
2. show the Resources tab to any JS file (starts the FormatterWorker)
3. open WebInspector2
4. set a breakpoint in WebInspector2 on `WI.showRepresentedObject
5. do something in WebInspector to trigger that pause (e.g. switch tabs or select something in a navigation sidebar)
6. switch call frames in WebInspector2 to the last frame of the Page, and then switch again to the FormatterWorker's Idle frame
7. step over
 => the first frame of Page and FormatterWorker's Idle frame are both selected
Comment 6 Devin Rousso 2018-12-07 11:44:22 PST
(In reply to Devin Rousso from comment #5)
> I did notice some unrealted selection issues (not sure if it relates to something that's already been filed).
> 
> * STEPS TO REPRODUCE:
> 1. open WebInspector
> 2. show the Resources tab to any JS file (starts the FormatterWorker)
> 3. open WebInspector2
> 4. set a breakpoint in WebInspector2 on `WI.showRepresentedObject
> 5. do something in WebInspector to trigger that pause (e.g. switch tabs or select something in a navigation sidebar)
> 6. switch call frames in WebInspector2 to the last frame of the Page, and then switch again to the FormatterWorker's Idle frame
> 7. step over
>  => the first frame of Page and FormatterWorker's Idle frame are both selected
An assertion is also thrown on TreeElement.js:538:23
Comment 7 Matt Baker 2018-12-10 13:22:27 PST
Created attachment 356988 [details]
Patch for landing
Comment 8 Matt Baker 2018-12-10 13:34:44 PST
(In reply to Devin Rousso from comment #6)
> (In reply to Devin Rousso from comment #5)
> > I did notice some unrealted selection issues (not sure if it relates to something that's already been filed).
> > 
> > * STEPS TO REPRODUCE:
> > 1. open WebInspector
> > 2. show the Resources tab to any JS file (starts the FormatterWorker)
> > 3. open WebInspector2
> > 4. set a breakpoint in WebInspector2 on `WI.showRepresentedObject
> > 5. do something in WebInspector to trigger that pause (e.g. switch tabs or select something in a navigation sidebar)
> > 6. switch call frames in WebInspector2 to the last frame of the Page, and then switch again to the FormatterWorker's Idle frame
> > 7. step over
> >  => the first frame of Page and FormatterWorker's Idle frame are both selected
> An assertion is also thrown on TreeElement.js:538:23

I removed the assertion, which was added in https://webkit.org/b/192353. We already check that TreeElement.prototype.deselect is called by the TreeOutline on behalf of the SelectionController after an item is deselected.
Comment 9 WebKit Commit Bot 2018-12-10 14:03:20 PST
Comment on attachment 356988 [details]
Patch for landing

Clearing flags on attachment: 356988

Committed r239051: <https://trac.webkit.org/changeset/239051>
Comment 10 WebKit Commit Bot 2018-12-10 14:03:22 PST
All reviewed patches have been landed.  Closing bug.