RESOLVED FIXED 144700
Media Controls: Scrubber should not follow actual video time, causes scrubber to be jumpy
https://bugs.webkit.org/show_bug.cgi?id=144700
Summary Media Controls: Scrubber should not follow actual video time, causes scrubber...
Roger Fong
Reported 2015-05-06 11:56:55 PDT
We should a) draw the scrubber based on the input range position b) also, update the time and draw the timeline on timelinemousemove, not wrappermousemove. rdar://problem/19997548
Attachments
patch (2.31 KB, patch)
2015-05-06 12:01 PDT, Roger Fong
jer.noble: review-
patch (5.20 KB, patch)
2015-05-06 23:10 PDT, Roger Fong
no flags
patch (4.32 KB, patch)
2015-05-07 10:05 PDT, Roger Fong
no flags
patch (2.92 KB, patch)
2015-05-07 11:57 PDT, Roger Fong
jer.noble: review+
Roger Fong
Comment 1 2015-05-06 12:01:17 PDT
Dean Jackson
Comment 2 2015-05-06 12:27:30 PDT
Comment on attachment 252502 [details] patch I guess we have to do the same for iOS.
Jer Noble
Comment 3 2015-05-06 12:30:11 PDT
Comment on attachment 252502 [details] patch This doesn't solve the underlying problem. You are still querying the <video> element's currentTime when interacting with the timeline slider.
Jer Noble
Comment 4 2015-05-06 12:32:11 PDT
Comment on attachment 252502 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=252502&action=review > Source/WebCore/Modules/mediacontrols/mediaControlsApple.js:885 > + this.updateTime(); updateTime() sets timeline.value based on video.currentTime. That's the underlying problem.
Roger Fong
Comment 5 2015-05-06 23:10:54 PDT
Darin Adler
Comment 6 2015-05-07 09:33:16 PDT
Comment on attachment 252572 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=252572&action=review > Source/WebCore/platform/graphics/cocoa/FontCascadeCocoa.mm:369 > - CGContextSetFontAntialiasingStyle(cgContext, kCGFontAntialiasingStyleUnfilteredCustomDilation); > + CGContextSetFontAntialiasingStyle(cgContext, kCGFontAntialiasingStyleCustomDilation); Surely this was included in the patch by accident?
Roger Fong
Comment 7 2015-05-07 10:05:09 PDT
> Surely this was included in the patch by accident? whoops yup
Roger Fong
Comment 8 2015-05-07 10:05:46 PDT
Jer Noble
Comment 9 2015-05-07 10:36:56 PDT
Comment on attachment 252597 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=252597&action=review > Source/WebCore/Modules/mediacontrols/mediaControlsApple.js:888 > handleTimelineMouseMove: function(event) > { > + this.updateControlsWhileScrubbing(); > + Shouldn't this be handled in handleTimelineInput()? (And in handleTimelineChange())? Doing it this way means that the controls won't update when the timeline is changed through Accessibility. > Source/WebCore/Modules/mediacontrols/mediaControlsApple.js:1408 > + > + if (this.isWaitingForBuffer) > + return; Why is this necessary? Surely we're not getting "timechange" events when we're in the "waiting" state.
Roger Fong
Comment 10 2015-05-07 11:57:31 PDT
Roger Fong
Comment 11 2015-05-07 12:01:23 PDT
(In reply to comment #10) > Created attachment 252603 [details] > patch I think handleTimelineInput is sufficient since we get an input and change event at the same timeline position when ending the scrub.
Roger Fong
Comment 12 2015-05-07 12:03:14 PDT
I should probably do an iOS fix in this patch as well
Roger Fong
Comment 13 2015-05-07 15:33:34 PDT
Note You need to log in before you can comment on or make changes to this bug.