From 636ce004df692d609c6ec9bef63ca8837fd95dc9 Mon Sep 17 00:00:00 2001 From: John Reck Date: Sun, 30 Jan 2011 16:23:09 -0800 Subject: [PATCH] Prevent SET_SCROLL_OFFSET spam from clogging tubes Bug: 3393571 Limit the event queue to a single pending SET_SCROLL_OFFSET. The problem on slashdot.org was that the event thread was being flooded with SET_SCROLL_OFFSET messages faster than it could process them, causing the handler to get jammed up. Change-Id: Ia4a90a030959d0b3769067791089cdb261ae403a --- core/java/android/webkit/WebView.java | 1 + 1 file changed, 1 insertion(+) diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java index 790a04023330e..a9abb65bd568b 100644 --- a/core/java/android/webkit/WebView.java +++ b/core/java/android/webkit/WebView.java @@ -2506,6 +2506,7 @@ public class WebView extends AbsoluteLayout // Rect.equals() checks for null input. if (!rect.equals(mLastVisibleRectSent)) { Point pos = new Point(rect.left, rect.top); + mWebViewCore.removeMessages(EventHub.SET_SCROLL_OFFSET); mWebViewCore.sendMessage(EventHub.SET_SCROLL_OFFSET, nativeMoveGeneration(), mUserScroll ? 1 : 0, pos); mLastVisibleRectSent = rect;