Bug 574045 - "[e10s] Tiles don't update while panning" [r=stechz]

This commit is contained in:
Matt Brubeck 2010-06-30 10:37:00 -07:00
Родитель 136dd25906
Коммит 79211c37b1
1 изменённых файлов: 12 добавлений и 14 удалений

Просмотреть файл

@ -1304,14 +1304,8 @@ Browser.MainDragger.prototype = {
isDraggable: function isDraggable(target, scroller) { return true; },
dragStart: function dragStart(clientX, clientY, target, scroller) {
// Make sure pausing occurs before any early returns.
this.bv.pauseRendering();
// XXX shouldn't know about observer
// adding pause in pauseRendering isn't so great, because tiles will hardly ever prefetch while
// loading state is going (and already, the idle timer is bigger during loading so it doesn't fit
// into the aggressive flag).
this.bv._idleServiceObserver.pause();
this._nextRender = Date.now() + 500;
this._dragMoved = false;
},
dragStop: function dragStop(dx, dy, scroller) {
@ -1320,15 +1314,17 @@ Browser.MainDragger.prototype = {
Browser.tryUnfloatToolbar();
this.bv.resumeRendering();
// XXX shouldn't know about observer
this.bv._idleServiceObserver.resume();
if (this._dragMoved)
this.bv.resumeRendering();
},
dragMove: function dragMove(dx, dy, scroller) {
let doffset = new Point(dx, dy);
let render = false;
if (!this._dragMoved) {
this._dragMoved = true;
this.bv.pauseRendering();
}
// First calculate any panning to take sidebars out of view
let panOffset = this._panControlsAwayOffset(doffset);
@ -1345,8 +1341,10 @@ Browser.MainDragger.prototype = {
this.bv.onAfterVisibleMove();
if (render)
if (Date.now() >= this._nextRender) {
this.bv.renderNow();
this._nextRender = Date.now() + 500;
}
return !doffset.equals(dx, dy);
},