| Summary: | Media Controls: Scrubber should not follow actual video time, causes scrubber to be jumpy | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Roger Fong <roger_fong> | ||||||||||
| Component: | Media | Assignee: | Nobody <webkit-unassigned> | ||||||||||
| Status: | RESOLVED FIXED | ||||||||||||
| Severity: | Normal | CC: | dino, jer.noble, roger_fong | ||||||||||
| Priority: | P2 | ||||||||||||
| Version: | 528+ (Nightly build) | ||||||||||||
| Hardware: | Unspecified | ||||||||||||
| OS: | Unspecified | ||||||||||||
| Attachments: |
|
||||||||||||
|
Description
Roger Fong
2015-05-06 11:56:55 PDT
Created attachment 252502 [details]
patch
Comment on attachment 252502 [details]
patch
I guess we have to do the same for iOS.
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.
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. Created attachment 252572 [details]
patch
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?
> Surely this was included in the patch by accident?
whoops yup
Created attachment 252597 [details]
patch
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. Created attachment 252603 [details]
patch
(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. I should probably do an iOS fix in this patch as well |