merge with mozilla-central ea5e1f4e996a
authorDoug Turner <dougt@dougt.org>
Fri, 18 Nov 2011 21:46:09 -0800
changeset 83553 bcab5ec25b5e99be6f5155b94c6bfa4a65fa681a
parent 83552 bed0b38129edba1061a70a483c6d3c9b63c2c10c (current diff)
parent 82096 ea5e1f4e996a50623e77faf47579a2af88e3c7cf (diff)
child 83554 9827c94661b48981985d26f73734a4d61265ed11
push id519
push userakeybl@mozilla.com
push dateWed, 01 Feb 2012 00:38:35 +0000
treeherdermozilla-beta@788ea1ef610b [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
milestone11.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
merge with mozilla-central ea5e1f4e996a
widget/src/android/nsAppShell.cpp
--- a/widget/src/android/nsAppShell.cpp
+++ b/widget/src/android/nsAppShell.cpp
@@ -239,16 +239,19 @@ nsAppShell::ProcessNextNativeEvent(bool 
     // Combine subsequent events of the same type
 
     nextEvent = PeekNextEvent();
 
     while (nextEvent) {
         int curType = curEvent->Type();
         int nextType = nextEvent->Type();
 
+        // Do not skip draw events if the Java compositor is in use, since the Java compositor
+        // updates only the rect that changed - thus we will lose updates.
+#ifndef MOZ_JAVA_COMPOSITOR
         while (nextType == AndroidGeckoEvent::DRAW &&
                mNumDraws > 1)
         {
             // skip this draw, since there's a later one already in the queue.. this will let us
             // deal with sequences that look like:
             //   MOVE DRAW MOVE DRAW MOVE DRAW
             // and end up with just
             //   MOVE DRAW
@@ -258,16 +261,17 @@ nsAppShell::ProcessNextNativeEvent(bool 
 
 #if defined(DEBUG_ANDROID_EVENTS)
             ALOG("# Removing DRAW event (%d outstanding)", mNumDraws);
 #endif
 
             nextEvent = PeekNextEvent();
             nextType = nextEvent->Type();
         }
+#endif
 
         // If the next type of event isn't the same as the current type,
         // we don't coalesce.
         if (nextType != curType)
             break;
 
         // Can only coalesce motion move events, for motion events
         if (curType != AndroidGeckoEvent::MOTION_EVENT)