author | Ed Morley <emorley@mozilla.com> |
Wed, 23 Oct 2013 16:22:47 +0100 | |
changeset 151873 | b71812b077de5a078af83968fd2f2809017ba19f |
parent 151872 | 69d9f136cf265f195b1c71127673c16ea0a2b5f4 |
child 151874 | a5bb5255845ad2c2bfce0f146a0c6eedc1bb57cd |
push id | 25512 |
push user | cbook@mozilla.com |
push date | Thu, 24 Oct 2013 05:06:01 +0000 |
treeherder | autoland@19fd3388c372 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
bugs | 929021 |
milestone | 27.0a1 |
backs out | a61d898ea4facb179c6ba93820acbbbb0b1885a8 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/layout/base/nsDisplayList.cpp +++ b/layout/base/nsDisplayList.cpp @@ -3912,25 +3912,18 @@ nsDisplayTransform::GetDeltaToMozTransfo NS_PRECONDITION(aFrame->IsTransformed(), "Shouldn't get a delta for an untransformed frame!"); /* For both of the coordinates, if the value of -moz-transform is a * percentage, it's relative to the size of the frame. Otherwise, if it's * a distance, it's already computed for us! */ const nsStyleDisplay* display = aFrame->StyleDisplay(); - nsRect boundingRect; - if (aBoundsOverride) { - boundingRect = *aBoundsOverride; - } else if (display->mTransformOrigin[0].GetUnit() != eStyleUnit_Coord || - display->mTransformOrigin[1].GetUnit() != eStyleUnit_Coord) { - // GetFrameBoundsForTransform is expensive for SVG frames and we don't need - // it if the origin is coords (which it is by default for SVG). - boundingRect = nsDisplayTransform::GetFrameBoundsForTransform(aFrame); - } + nsRect boundingRect = (aBoundsOverride ? *aBoundsOverride : + nsDisplayTransform::GetFrameBoundsForTransform(aFrame)); /* Allows us to access named variables by index. */ float coords[2]; nscoord boundingOffsets[2] = {boundingRect.x, boundingRect.y}; nscoord boundingDimensions[2] = {boundingRect.width, boundingRect.height}; nscoord frameOffsets[2] = {aFrame->GetPosition().x, aFrame->GetPosition().y}; for (uint8_t index = 0; index < 2; ++index) {