RESOLVED FIXED 168518
[Modern Media Controls] Scrubber stops moving while scrubbing on macOS
https://bugs.webkit.org/show_bug.cgi?id=168518
Summary [Modern Media Controls] Scrubber stops moving while scrubbing on macOS
Antoine Quint
Reported 2017-02-17 08:13:27 PST
If you start scrubbing using the scrubber on macOS, the slider's thumb will eventually stop tracking you. This only happens when the controls are hooked into a shadow root, so maybe this is some ShadowRoot bug and not a bug in the media controls code itself.
Attachments
Patch (4.94 KB, patch)
2017-02-22 14:38 PST, Antoine Quint
no flags
Patch for landing (5.12 KB, patch)
2017-02-22 15:52 PST, Antoine Quint
commit-queue: commit-queue-
Archive of layout-test-results from webkit-cq-01 for mac-elcapitan (835.64 KB, application/zip)
2017-02-22 16:38 PST, WebKit Commit Bot
no flags
Radar WebKit Bug Importer
Comment 1 2017-02-17 08:13:52 PST
Antoine Quint
Comment 2 2017-02-22 14:38:59 PST
Dean Jackson
Comment 3 2017-02-22 14:44:59 PST
Comment on attachment 302444 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=302444&action=review > Source/WebCore/ChangeLog:18 > + Our solution is to make the .children setter smarter about identifying > + that the children list hasn't changed and that no DOM invalidation is > + necessary. You need smart diffing! > Source/WebCore/Modules/modern-media-controls/controls/layout-node.js:132 > + for (let i = children.length - 1; i >= 0; --i) { > + if (children[i] !== this._children[i]) { Shame you can't use forEach. No way to break.
Antoine Quint
Comment 4 2017-02-22 14:46:01 PST
(In reply to comment #3) > Comment on attachment 302444 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=302444&action=review > > > Source/WebCore/ChangeLog:18 > > + Our solution is to make the .children setter smarter about identifying > > + that the children list hasn't changed and that no DOM invalidation is > > + necessary. > > You need smart diffing! I considered it but figured it wouldn't be worth the trouble. > > Source/WebCore/Modules/modern-media-controls/controls/layout-node.js:132 > > + for (let i = children.length - 1; i >= 0; --i) { > > + if (children[i] !== this._children[i]) { > > Shame you can't use forEach. No way to break. Yass.
Antoine Quint
Comment 5 2017-02-22 15:52:02 PST
Created attachment 302456 [details] Patch for landing
WebKit Commit Bot
Comment 6 2017-02-22 16:38:31 PST
Comment on attachment 302456 [details] Patch for landing Rejecting attachment 302456 [details] from commit-queue. New failing tests: editing/spelling/spellcheck-async-remove-frame.html Full output: http://webkit-queues.webkit.org/results/3175408
WebKit Commit Bot
Comment 7 2017-02-22 16:38:34 PST
Created attachment 302462 [details] Archive of layout-test-results from webkit-cq-01 for mac-elcapitan The attached test failures were seen while running run-webkit-tests on the commit-queue. Bot: webkit-cq-01 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Antoine Quint
Comment 8 2017-02-22 17:56:53 PST
Note You need to log in before you can comment on or make changes to this bug.