зеркало из https://github.com/mozilla/gecko-dev.git
Back out bug 1121871 as it is an improper fix and creates regressions like bug 1132741. r=BenWa (on IRC)
This commit is contained in:
Родитель
c2ea025b30
Коммит
3b4fe0ca10
|
@ -418,36 +418,20 @@ ClientTiledPaintedLayer::RenderLayer()
|
||||||
ToClientLayer(GetMaskLayer())->RenderLayer();
|
ToClientLayer(GetMaskLayer())->RenderLayer();
|
||||||
}
|
}
|
||||||
|
|
||||||
// For more complex cases we need to calculate a bunch of metrics before we
|
|
||||||
// can do the paint.
|
|
||||||
BeginPaint();
|
|
||||||
if (mPaintData.mPaintFinished) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// In some cases we can take a fast path and just be done with it.
|
// In some cases we can take a fast path and just be done with it.
|
||||||
if (UseFastPath()) {
|
if (UseFastPath()) {
|
||||||
TILING_LOG("TILING %p: Taking fast-path\n", this);
|
TILING_LOG("TILING %p: Taking fast-path\n", this);
|
||||||
mValidRegion = neededRegion;
|
mValidRegion = neededRegion;
|
||||||
|
|
||||||
// Make sure that tiles that fall outside of the visible region or outside of the
|
|
||||||
// critical displayport are discarded on the first update. Also make sure that we
|
|
||||||
// only draw stuff inside the critical displayport on the first update.
|
|
||||||
if (!mPaintData.mCriticalDisplayPort.IsEmpty()) {
|
|
||||||
mValidRegion.And(mValidRegion, LayerIntRect::ToUntyped(mPaintData.mCriticalDisplayPort));
|
|
||||||
invalidRegion.And(invalidRegion, LayerIntRect::ToUntyped(mPaintData.mCriticalDisplayPort));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (invalidRegion.IsEmpty()) {
|
|
||||||
EndPaint();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
mContentClient->mTiledBuffer.SetFrameResolution(mPaintData.mResolution);
|
|
||||||
mContentClient->mTiledBuffer.PaintThebes(mValidRegion, invalidRegion, callback, data);
|
mContentClient->mTiledBuffer.PaintThebes(mValidRegion, invalidRegion, callback, data);
|
||||||
ClientManager()->Hold(this);
|
ClientManager()->Hold(this);
|
||||||
mContentClient->UseTiledLayerBuffer(TiledContentClient::TILED_BUFFER);
|
mContentClient->UseTiledLayerBuffer(TiledContentClient::TILED_BUFFER);
|
||||||
EndPaint();
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// For more complex cases we need to calculate a bunch of metrics before we
|
||||||
|
// can do the paint.
|
||||||
|
BeginPaint();
|
||||||
|
if (mPaintData.mPaintFinished) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче