зеркало из https://github.com/mozilla/gecko-dev.git
Backed out changeset 482309a25d13 (bug 1409871)
This commit is contained in:
Родитель
4922cbc9ec
Коммит
12e38cbd80
|
@ -240,11 +240,11 @@ RotatedBuffer::DrawTo(PaintedLayer* aLayer,
|
|||
|
||||
void
|
||||
RotatedBuffer::UpdateDestinationFrom(const RotatedBuffer& aSource,
|
||||
const gfx::IntRect& aUpdateRect)
|
||||
const nsIntRegion& aUpdateRegion)
|
||||
{
|
||||
DrawIterator iter;
|
||||
while (DrawTarget* destDT =
|
||||
BorrowDrawTargetForQuadrantUpdate(aUpdateRect, BUFFER_BLACK, &iter)) {
|
||||
BorrowDrawTargetForQuadrantUpdate(aUpdateRegion.GetBounds(), BUFFER_BLACK, &iter)) {
|
||||
bool isClippingCheap = IsClippingCheap(destDT, iter.mDrawRegion);
|
||||
if (isClippingCheap) {
|
||||
gfxUtils::ClipToRegion(destDT, iter.mDrawRegion);
|
||||
|
@ -262,7 +262,7 @@ RotatedBuffer::UpdateDestinationFrom(const RotatedBuffer& aSource,
|
|||
if (aSource.HaveBufferOnWhite() && HaveBufferOnWhite()) {
|
||||
DrawIterator whiteIter;
|
||||
while (DrawTarget* destDT =
|
||||
BorrowDrawTargetForQuadrantUpdate(aUpdateRect, BUFFER_WHITE, &whiteIter)) {
|
||||
BorrowDrawTargetForQuadrantUpdate(aUpdateRegion.GetBounds(), BUFFER_WHITE, &whiteIter)) {
|
||||
bool isClippingCheap = IsClippingCheap(destDT, whiteIter.mDrawRegion);
|
||||
if (isClippingCheap) {
|
||||
gfxUtils::ClipToRegion(destDT, whiteIter.mDrawRegion);
|
||||
|
|
|
@ -118,7 +118,7 @@ public:
|
|||
* of a source rotated buffer.
|
||||
*/
|
||||
void UpdateDestinationFrom(const RotatedBuffer& aSource,
|
||||
const gfx::IntRect& aUpdateRect);
|
||||
const nsIntRegion& aUpdateRegion);
|
||||
|
||||
/**
|
||||
* A draw iterator is used to keep track of which quadrant of a rotated
|
||||
|
|
|
@ -215,7 +215,7 @@ ContentClient::BeginPaintBuffer(PaintedLayer* aLayer,
|
|||
// If needed, copy the old buffer over to the new one
|
||||
if (newBuffer) {
|
||||
if (mBuffer) {
|
||||
newBuffer->UpdateDestinationFrom(*mBuffer, newBuffer->BufferRect());
|
||||
newBuffer->UpdateDestinationFrom(*mBuffer, nsIntRegion(newBuffer->BufferRect()));
|
||||
}
|
||||
|
||||
// Ensure our reference to the front buffer is released
|
||||
|
@ -932,7 +932,7 @@ ContentClientDoubleBuffered::FinalizeFrame(const nsIntRegion& aRegionToDraw)
|
|||
}
|
||||
|
||||
if (mFrontBuffer->Lock(OpenMode::OPEN_READ_ONLY)) {
|
||||
mBuffer->UpdateDestinationFrom(*mFrontBuffer, updateRegion.GetBounds());
|
||||
mBuffer->UpdateDestinationFrom(*mFrontBuffer, updateRegion);
|
||||
mFrontBuffer->Unlock();
|
||||
}
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче