WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
154561
Web Inspector: TimelineRuler should have a "select all" mode
https://bugs.webkit.org/show_bug.cgi?id=154561
Summary
Web Inspector: TimelineRuler should have a "select all" mode
Matt Baker
Reported
2016-02-22 15:41:27 PST
* SUMMARY TimelineRuler should have a "select all" mode. When active, selection handles should be hidden, and the selection start and end properties should return the ruler's start and ends times. Clicking & dragging to create a new selection should cause the ruler to no longer "select all". UI making use of this mode will be added in:
https://bugs.webkit.org/show_bug.cgi?id=153033
.
Attachments
[Patch] Proposed Fix
(6.14 KB, patch)
2016-02-22 16:17 PST
,
Matt Baker
no flags
Details
Formatted Diff
Diff
[Video] "select all" behavior
(488.33 KB, video/mp4)
2016-02-23 22:07 PST
,
Matt Baker
no flags
Details
[Patch] Proposed Fix
(7.67 KB, patch)
2016-02-23 22:20 PST
,
Matt Baker
no flags
Details
Formatted Diff
Diff
[Patch] Proposed Fix
(7.33 KB, patch)
2016-02-24 08:50 PST
,
Matt Baker
no flags
Details
Formatted Diff
Diff
Show Obsolete
(2)
View All
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2016-02-22 15:41:51 PST
<
rdar://problem/24779872
>
Matt Baker
Comment 2
2016-02-22 16:17:19 PST
Created
attachment 271964
[details]
[Patch] Proposed Fix
Timothy Hatcher
Comment 3
2016-02-22 16:35:03 PST
Comment on
attachment 271964
[details]
[Patch] Proposed Fix View in context:
https://bugs.webkit.org/attachment.cgi?id=271964&action=review
> Source/WebInspectorUI/UserInterface/Views/TimelineRuler.js:265 > + set selectAll(x)
entireRangeSelected? select, as a verb bothers me, as a property name.
> Source/WebInspectorUI/UserInterface/Views/TimelineRuler.js:297 > + return this._selectAll ? this._endTime : this._selectionEndTime;
This is still a bounded time. I suspect this will cause things to filter out when you zoom in to tighten the time range. Does this result get used?
Matt Baker
Comment 4
2016-02-22 16:46:43 PST
(In reply to
comment #3
)
> Comment on
attachment 271964
[details]
> [Patch] Proposed Fix > > View in context: >
https://bugs.webkit.org/attachment.cgi?id=271964&action=review
> > > Source/WebInspectorUI/UserInterface/Views/TimelineRuler.js:265 > > + set selectAll(x) > > entireRangeSelected? select, as a verb bothers me, as a property name. > > > Source/WebInspectorUI/UserInterface/Views/TimelineRuler.js:297 > > + return this._selectAll ? this._endTime : this._selectionEndTime; > > This is still a bounded time. I suspect this will cause things to filter out > when you zoom in to tighten the time range. Does this result get used?
We could use the default selection bounds (0 and Infinity), and make the necessary adjustments to timeline views.
Timothy Hatcher
Comment 5
2016-02-22 16:49:00 PST
(In reply to
comment #4
)
> (In reply to
comment #3
) > > Comment on
attachment 271964
[details]
> > [Patch] Proposed Fix > > > > View in context: > >
https://bugs.webkit.org/attachment.cgi?id=271964&action=review
> > > > > Source/WebInspectorUI/UserInterface/Views/TimelineRuler.js:265 > > > + set selectAll(x) > > > > entireRangeSelected? select, as a verb bothers me, as a property name. > > > > > Source/WebInspectorUI/UserInterface/Views/TimelineRuler.js:297 > > > + return this._selectAll ? this._endTime : this._selectionEndTime; > > > > This is still a bounded time. I suspect this will cause things to filter out > > when you zoom in to tighten the time range. Does this result get used? > > We could use the default selection bounds (0 and Infinity), and make the > necessary adjustments to timeline views.
That would be easier to understand.
Matt Baker
Comment 6
2016-02-22 16:51:42 PST
(In reply to
comment #5
)
> (In reply to
comment #4
) > > (In reply to
comment #3
) > > > Comment on
attachment 271964
[details]
> > > [Patch] Proposed Fix > > > > > > View in context: > > >
https://bugs.webkit.org/attachment.cgi?id=271964&action=review
> > > > > > > Source/WebInspectorUI/UserInterface/Views/TimelineRuler.js:265 > > > > + set selectAll(x) > > > > > > entireRangeSelected? select, as a verb bothers me, as a property name. > > > > > > > Source/WebInspectorUI/UserInterface/Views/TimelineRuler.js:297 > > > > + return this._selectAll ? this._endTime : this._selectionEndTime; > > > > > > This is still a bounded time. I suspect this will cause things to filter out > > > when you zoom in to tighten the time range. Does this result get used? > > > > We could use the default selection bounds (0 and Infinity), and make the > > necessary adjustments to timeline views. > > That would be easier to understand.
The grid-based timeline views handle this fine, but OverviewTimelineView and MemoryTimelineView will need special handling for selectionEndTime === Infinity.
Matt Baker
Comment 7
2016-02-23 22:07:20 PST
Created
attachment 272090
[details]
[Video] "select all" behavior Doubling-clicking the ruler toggles the ruler between the user-defined selection (if any), and "everything selected". It's a convenient interaction for the initiated, but not very discoverable. Upcoming UI (see
https://webkit.org/b/153033
) will make it accessible.
Matt Baker
Comment 8
2016-02-23 22:20:06 PST
Created
attachment 272093
[details]
[Patch] Proposed Fix
Timothy Hatcher
Comment 9
2016-02-24 07:55:52 PST
Comment on
attachment 272093
[details]
[Patch] Proposed Fix View in context:
https://bugs.webkit.org/attachment.cgi?id=272093&action=review
> Source/WebInspectorUI/UserInterface/Views/TimelineRuler.js:304 > + return this._selectionStartTime === this._zeroTime && this._selectionEndTime === Number.MAX_VALUE;
You might need to add this in set zeroTime(). if (this.entireRangeSelected) { this._selectionStartTime = newZeroTime; }
> Source/WebInspectorUI/UserInterface/Views/TimelineRuler.js:708 > + _handleDoubleClick(event) > + { > + if (this.entireRangeSelected) { > + this.selectionStartTime = this._lastSelectionStartTime; > + this.selectionEndTime = this._lastSelectionEndTime; > + } else { > + this._lastSelectionStartTime = this.selectionStartTime; > + this._lastSelectionEndTime = this.selectionEndTime; > + > + this.selectEntireRange(); > + } > + }
I like double click to get the entire range. I don't think double click to go back to the previous selection is as clear or compelling. The user can always just drag out a new selection. But this is fine as-is.
Matt Baker
Comment 10
2016-02-24 08:50:36 PST
Created
attachment 272115
[details]
[Patch] Proposed Fix
WebKit Commit Bot
Comment 11
2016-02-24 09:41:37 PST
Comment on
attachment 272115
[details]
[Patch] Proposed Fix Clearing flags on attachment: 272115 Committed
r197034
: <
http://trac.webkit.org/changeset/197034
>
WebKit Commit Bot
Comment 12
2016-02-24 09:41:41 PST
All reviewed patches have been landed. Closing bug.
Timothy Hatcher
Comment 13
2016-02-24 09:46:54 PST
Comment on
attachment 272115
[details]
[Patch] Proposed Fix View in context:
https://bugs.webkit.org/attachment.cgi?id=272115&action=review
> Source/WebInspectorUI/UserInterface/Views/TimelineRuler.js:179 > + if (this.entireRangeSelected) > + this.selectionStartTime = this._zeroTime;
This needed to happen before "this._zeroTime = x", otherwise the getter for entireRangeSelected will fail, because _selectionStartTime will not equal _zeroTime anymore.
Timothy Hatcher
Comment 14
2016-02-24 09:52:29 PST
I'll land a follow up fix.
Timothy Hatcher
Comment 15
2016-02-24 09:56:30 PST
Landed a follow up in
https://trac.webkit.org/r197035
.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug