The idea of time-indexed outputs is that the user often wants to navigate a recording by console outputs or probe samples gathered during the playback. We can do that using replay and breakpoints. <brrian> Given a position in a recording and a source code position and a count, the replayToIndexedStatement(PlaybackPosition, url, SourcePosition, count) command replays to the count'th execution of the statement at that position starting from the recording position. count is relative to the combination of PlaybackPosition+SourceCodeLocation. <brrian> So, if you can tag outputs with a counter value that resets for each replay input, you can replay to any output that's tagged.
<rdar://problem/18447456>
<rdar://problem/18447455>
(In reply to comment #2) > <rdar://problem/18447455> Double-imported :(
Created attachment 238620 [details] WIP
Comment on attachment 238620 [details] WIP View in context: https://bugs.webkit.org/attachment.cgi?id=238620&action=review > Source/WebInspectorUI/UserInterface/Controllers/ReplayManager.js:482 > + // Disable the breakpoints that are unrelated to this command. > + for (var breakpoint of WebInspector.debuggerManager.breakpoints) { > + breakpointStateMap.set(breakpoint, breakpoint.disabled); > + breakpoint.disabled = true; > + } This likely fires a bunch of events that are pointless and confuse the UI. Should we suppress them? > Source/WebInspectorUI/UserInterface/Controllers/ReplayManager.js:538 > + manager.playbackSpeed = WebInspector.ReplayManager.PlaybackSpeed.RealTime; > + for (var [breakpoint, wasDisabled] of breakpointStateMap) > + breakpoint.disabled = wasDisabled; What happens if the user toggled one since the state was stored?
Closing web replay-related bugs until we resume working on the feature again.