bug 641506 - Seams that do not go away after panning in some pages r=mfinkle, f=mbrubeck a=blocking-fennec
authorBrad Lassey <blassey@mozilla.com>
Wed, 16 Mar 2011 11:23:53 -0400
changeset 67517 955d1ae205ecdc2b5ddf3f4a5ff7b64d8836d114
parent 67516 9b31f2ddfd36dc7f60e02ae6cf7a4da99b09911e
child 67518 b451f0e74c956181cd52bb77038e1e05f2381215
push id1
push userroot
push dateTue, 26 Apr 2011 22:38:44 +0000
treeherdermozilla-beta@bfdb6e623a36 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmfinkle, blocking-fennec
bugs641506
bug 641506 - Seams that do not go away after panning in some pages r=mfinkle, f=mbrubeck a=blocking-fennec
mobile/chrome/content/bindings/browser.js
--- a/mobile/chrome/content/bindings/browser.js
+++ b/mobile/chrome/content/bindings/browser.js
@@ -1,8 +1,9 @@
+// -*- Mode: js2; tab-width: 2; indent-tabs-mode: nil; js2-basic-offset: 2; js2-skip-preprocessor-directives: t; -*-
 let Cc = Components.classes;
 let Ci = Components.interfaces;
 
 dump("!! remote browser loaded\n")
 
 let WebProgressListener = {
   _lastLocation: null,
 
@@ -358,17 +359,20 @@ let ContentScroll =  {
         let winCwu = win.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindowUtils);
         let winCwu20 = winCwu.QueryInterface(Ci.nsIDOMWindowUtils_MOZILLA_2_0_BRANCH);
         winCwu20.setDisplayPortForElement(x, y, displayport.width, displayport.height, element);
 
         // XXX If we scrolled during this displayport update, then it is the
         //     end of a pan. Due to bug 637852, there may be seaming issues
         //     with the visible content, so we need to redraw.
         if (json.id == 1 && json.scrollX >= 0 && json.scrollY >= 0)
-          winCwu.redraw();
+          win.setTimeout(
+            function() {
+              winCwu20.redraw();
+            }, 0);
 
         break;
       }
 
       case "Content:SetWindowSize": {
         let cwu = content.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindowUtils);
         cwu.setCSSViewport(json.width, json.height);
         break;