Separate the TimelineRuler and the scrolling. This keep long running or highly zoomed recordings fast by not having a super wide elements in a scroll container.
<rdar://problem/15839667>
Created attachment 221417 [details] Patch
Comment on attachment 221417 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=221417&action=review r=me > Source/WebInspectorUI/UserInterface/TimelineOverview.js:178 > + this.scrollStartTime = marker.time - (this.visibleDuration / 2); Maybe in the future we can be a bit smarter here and reveal the entire marker if it fits in the overview with some padding. Currently this attempts to center the marker? That sounds like a good default. > Source/WebInspectorUI/UserInterface/TimelineOverview.js:266 > + if (Math.abs(event.deltaX) >= Math.abs(event.deltaY) * 0.5) { > + // Clone the event to dispatch it on the scroll container. Mark it as cloned so we don't get into a loop. > + var newWheelEvent = new event.constructor(event.type, event); > + newWheelEvent.__cloned = true; Clever!
Comment on attachment 221417 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=221417&action=review >> Source/WebInspectorUI/UserInterface/TimelineOverview.js:178 >> + this.scrollStartTime = marker.time - (this.visibleDuration / 2); > > Maybe in the future we can be a bit smarter here and reveal the entire marker if it fits in the overview with some padding. Currently this attempts to center the marker? That sounds like a good default. Yeah it tries to center. In practice it is on;y used for the current time marker, and that pins to the right because it is always the end time.
https://trac.webkit.org/changeset/162417