Summary: | Web Inspector: Sources: expanding a grouping of blackboxed call frames should be persistent | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Devin Rousso <hi> | ||||||||
Component: | Web Inspector | Assignee: | Devin Rousso <hi> | ||||||||
Status: | RESOLVED FIXED | ||||||||||
Severity: | Normal | CC: | ews-watchlist, hi, inspector-bugzilla-changes, pangle, webkit-bug-importer | ||||||||
Priority: | P2 | Keywords: | InRadar | ||||||||
Version: | WebKit Nightly Build | ||||||||||
Hardware: | All | ||||||||||
OS: | All | ||||||||||
Bug Depends on: | |||||||||||
Bug Blocks: | 234581 | ||||||||||
Attachments: |
|
Description
Devin Rousso
2021-12-22 12:52:34 PST
Created attachment 448324 [details]
Patch
Comment on attachment 448324 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=448324&action=review > Source/WebInspectorUI/ChangeLog:30 > + (WI.ThreadTreeElement.prototype.refresh): Can you add a line or two here describing the refactoring you did so that it is easier to understand at a quick glance what is happening now. > Source/WebInspectorUI/UserInterface/Controllers/DebuggerManager.js:556 > + for (let blackboxedCallFrameGroupToAutoExpand of this._blackboxedCallFrameGroupsToAutoExpand) { > + if (blackboxedCallFrameGroupToAutoExpand.length !== blackboxedCallFrameGroup.length) > + continue; > + > + for (let i = 0; i < blackboxedCallFrameGroupToAutoExpand.length; ++i) { > + if (!blackboxedCallFrameGroupToAutoExpand[i].isEqual(blackboxedCallFrameGroup[i])) > + return false; > + } > + > + return true; > + } This doesn't look quite right...If we have expanded two sets of blackboxed frames, each with the same number of frames, we will do the right thing for the first set of frames, but for the second set of frames my understanding here is that we would pass the check on :547 when comparing the second set of frames with the remembered first set of frames, and then proceed to check that the frames match between the two sets, and when they don't we end up returning instead of checking the second set of remembered frames. I think :552 needs to continue the outer loop with some additional piece of state. Comment on attachment 448324 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=448324&action=review >> Source/WebInspectorUI/UserInterface/Controllers/DebuggerManager.js:556 >> + } > > This doesn't look quite right...If we have expanded two sets of blackboxed frames, each with the same number of frames, we will do the right thing for the first set of frames, but for the second set of frames my understanding here is that we would pass the check on :547 when comparing the second set of frames with the remembered first set of frames, and then proceed to check that the frames match between the two sets, and when they don't we end up returning instead of checking the second set of remembered frames. I think :552 needs to continue the outer loop with some additional piece of state. Oh wow great catch. Yeah I think :552 should be a `continue`. Created attachment 448330 [details]
Patch
Comment on attachment 448330 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=448330&action=review rs=me > Source/WebInspectorUI/ChangeLog:40 > + Add a convenience function to compare two `WI.CallFrame`. Right now it just looks as the Nit: s/as/at Created attachment 448334 [details]
Patch
Committed r287590 (245719@main): <https://commits.webkit.org/245719@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 448334 [details]. |