Bug 85747

Summary: [WK2] Push wheel events if there are too many in queue
Product: WebKit Reporter: Jon Lee <jonlee>
Component: WebKit2Assignee: Jon Lee <jonlee>
Status: RESOLVED FIXED    
Severity: Normal CC: andersca, mjs, sam, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Mac   
OS: OS X 10.7   
Attachments:
Description Flags
Patch
none
Patch andersca: review+

Jon Lee
Reported 2012-05-06 14:25:33 PDT
It is possible that a whole bunch of messages added to the message queue, or a series of long-running messages, cause unresponsiveness. The reason for this is that we have a scroll event waiting for acknowledgment from the web process before it sends the next event. And in the time between the user has scrolled, causing a large backlog of scroll events to be held in the UI process. <rdar://problem/11390790>
Attachments
Patch (13.70 KB, patch)
2012-05-06 14:39 PDT, Jon Lee
no flags
Patch (12.53 KB, patch)
2012-05-06 22:23 PDT, Jon Lee
andersca: review+
Jon Lee
Comment 1 2012-05-06 14:39:50 PDT
Sam Weinig
Comment 2 2012-05-06 16:34:27 PDT
Comment on attachment 140435 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=140435&action=review > Source/WebKit2/UIProcess/WebPageProxy.h:1031 > + class CoalescedWheelEvent : public RefCounted<CoalescedWheelEvent> { > + public: > + static PassRefPtr<CoalescedWheelEvent> create(); > + CoalescedWheelEvent(); > + virtual ~CoalescedWheelEvent(); > + Vector<NativeWebWheelEvent> events; > + }; Is it necessary for this whole class to be public? It seems like at the very least, the constructor should be private. I'm also not clear on why this needs to be RefCounted.
Jon Lee
Comment 3 2012-05-06 22:23:50 PDT
Jon Lee
Comment 4 2012-05-06 22:24:51 PDT
Comment on attachment 140475 [details] Patch Originally had some problems using just the Vector but figured it out! Got rid of the internal class.
Jon Lee
Comment 5 2012-05-08 16:50:02 PDT
Note You need to log in before you can comment on or make changes to this bug.