summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/assembler/MacroAssemblerARM.h
diff options
context:
space:
mode:
authorAndras Becsi <andras.becsi@digia.com>2013-03-20 18:54:42 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-03-25 17:44:32 +0100
commitf17185389d49fd4781e6745df59a71ad0270a1d0 (patch)
tree84db31d6f6180cd5bbbc9fa903b7b1e372fde155 /Source/JavaScriptCore/assembler/MacroAssemblerARM.h
parent2f903ee40150a6db52749a2a8ac086d9fbadbbbc (diff)
downloadqtwebkit-f17185389d49fd4781e6745df59a71ad0270a1d0.tar.gz
Refactor handling of content suspension to properly cover corner cases
https://bugs.webkit.org/show_bug.cgi?id=111751 This is a back-port from upstream patch http://trac.webkit.org/changeset/146355 Reviewed by Jocelyn Turcotte. The current suspend / resume infrastructure turned out to be insufficient to cover all corner cases during transitions between gestures of complex gesture chains. The requirements for robust suspend / resume handling are: - Keep the content suspended while the user is continuously interacting, eg. does not lift the finger between transition from a pan to a pinch gesture and vice versa. - The content should not be suspended unnecessarily (like for a tap gesture), only during panning and scroll animation (flick), as well as pinch zoom and scale animation (also includes double-tap-to-zoom). - The content should never end up stuck in suspended state after long gesture chains and continuous interaction. This patch reintroduces reference counting based suspension in form of a new ViewportInteractionTracker member class to make it possible to reliably control the suspend / resume cycles during scrolling and scaling. During continuous gestures, while the user is interacting, the reference count is increased without actually suspending the content to prevent resuming unnecessarily during continuous interaction. At the same time this also assures that the page is not suspended for simple tap gestures, which was a side-effect of the previous approach based on update deferrers. The newly added functionality replaces boolean members that tried to achive the above requirements. Additionally this patch also removes the redundant m_hasSuspendedContent member from the PageViewportController since WebPageProxy already keeps this information. Change-Id: Id9b55d37c7ad839a27029e92872f36bbf202e660 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Diffstat (limited to 'Source/JavaScriptCore/assembler/MacroAssemblerARM.h')
0 files changed, 0 insertions, 0 deletions