RESOLVED FIXED 203839
Integrate scroll event into HTML5 event loop
https://bugs.webkit.org/show_bug.cgi?id=203839
Summary Integrate scroll event into HTML5 event loop
Ryosuke Niwa
Reported 2019-11-04 19:38:36 PST
Scroll event should happen during Page::updateRendering.
Attachments
WIP (9.59 KB, patch)
2019-11-05 20:26 PST, Ryosuke Niwa
no flags
WIP2 (10.13 KB, patch)
2019-11-05 21:25 PST, Ryosuke Niwa
no flags
WIP3 (12.85 KB, patch)
2019-11-05 22:55 PST, Ryosuke Niwa
no flags
Patch (23.19 KB, patch)
2019-11-06 16:40 PST, Ryosuke Niwa
simon.fraser: review+
Radar WebKit Bug Importer
Comment 1 2019-11-04 19:39:01 PST
Ryosuke Niwa
Comment 2 2019-11-05 20:26:26 PST
Ryosuke Niwa
Comment 3 2019-11-05 21:25:43 PST
Ryosuke Niwa
Comment 4 2019-11-05 22:55:56 PST
Ryosuke Niwa
Comment 5 2019-11-06 16:40:36 PST
Ryosuke Niwa
Comment 6 2019-11-07 12:06:44 PST
Ping reviewers.
Simon Fraser (smfr)
Comment 7 2019-11-07 12:55:42 PST
Comment on attachment 382982 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=382982&action=review > Source/WebCore/dom/Document.cpp:4018 > + m_needsVisualViewportScrollEvent = true; > + scheduleTimedRenderingUpdate(); Can this avoid calling scheduleTimedRenderingUpdate if m_needsVisualViewportScrollEvent is already true? > Source/WebCore/dom/Document.cpp:4041 > + window->visualViewport().dispatchEvent(Event::create(eventNames().scrollEvent, Event::CanBubble::No, Event::IsCancelable::No)); Is window->visualViewport() always non-null?
Ryosuke Niwa
Comment 8 2019-11-07 13:33:22 PST
(In reply to Simon Fraser (smfr) from comment #7) > Comment on attachment 382982 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=382982&action=review > > > Source/WebCore/dom/Document.cpp:4018 > > + m_needsVisualViewportScrollEvent = true; > > + scheduleTimedRenderingUpdate(); > > Can this avoid calling scheduleTimedRenderingUpdate if > m_needsVisualViewportScrollEvent is already true? Done. > > Source/WebCore/dom/Document.cpp:4041 > > + window->visualViewport().dispatchEvent(Event::create(eventNames().scrollEvent, Event::CanBubble::No, Event::IsCancelable::No)); > > Is window->visualViewport() always non-null? Yes. We also never reach here unless VisualViewport::update is called.
Ryosuke Niwa
Comment 9 2019-11-07 14:18:39 PST
Aakash Jain
Comment 10 2019-11-09 15:11:23 PST
(In reply to Ryosuke Niwa from comment #9) > Committed r252205: <https://trac.webkit.org/changeset/252205> One of the added test fast/events/scroll-subframe-in-rendering-update.html is failing consistently on iOS, and slowing down ios-wk2 queue. Tracked in bug 204045.
Note You need to log in before you can comment on or make changes to this bug.