зеркало из https://github.com/mozilla/gecko-dev.git
Bug 574045 - "[e10s] Tiles don't update while panning" [r=stechz]
This commit is contained in:
Родитель
136dd25906
Коммит
79211c37b1
|
@ -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();
|
||||
|
||||
if (this._dragMoved)
|
||||
this.bv.resumeRendering();
|
||||
|
||||
// XXX shouldn't know about observer
|
||||
this.bv._idleServiceObserver.resume();
|
||||
},
|
||||
|
||||
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);
|
||||
},
|
||||
|
|
Загрузка…
Ссылка в новой задаче