author | Timothy Nikkel <tnikkel@gmail.com> |
Sun, 01 Feb 2015 17:12:14 -0600 | |
changeset 226973 | f239e122ce45410daedd4bb91cbe9680839cc9e7 |
parent 226972 | bcefc7d8d8859469897c4c66b48c5b4ef6e9afeb |
child 226974 | 877c67c8ced41bbd1eb883442e07bc2d36004a28 |
push id | 54973 |
push user | tnikkel@gmail.com |
push date | Mon, 02 Feb 2015 02:24:46 +0000 |
treeherder | mozilla-inbound@f239e122ce45 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | mattwoodrow |
bugs | 1107843 |
milestone | 38.0a1 |
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
|
layout/base/nsDisplayList.cpp | file | annotate | diff | comparison | revisions | |
layout/reftests/bugs/reftest.list | file | annotate | diff | comparison | revisions |
--- a/layout/base/nsDisplayList.cpp +++ b/layout/base/nsDisplayList.cpp @@ -5202,21 +5202,23 @@ nsDisplayTransform::GetResultingTransfor // parent transform however *is* the reference frame, so we pass true for // aOffsetByOrigin to convert into the correct coordinate space. gfx3DMatrix parent = GetResultingTransformMatrixInternal(props, aOrigin - frame->GetPosition(), aAppUnitsPerPixel, nullptr, aOutAncestor, !frame->IsTransformed()); - result.ChangeBasis(offsetBetweenOrigins); + if (aOffsetByOrigin) { + result.Translate(-aProperties.mToTransformOrigin); + result.TranslatePost(offsetBetweenOrigins); + } else { + result.ChangeBasis(offsetBetweenOrigins); + } result = result * parent; - if (aOffsetByOrigin) { - result.Translate(roundedOrigin); - } return result; } if (aOffsetByOrigin) { // We can fold the final translation by roundedOrigin into the first matrix // basis change translation. This is more stable against variation due to // insufficient floating point precision than reversing the translation // afterwards.
--- a/layout/reftests/bugs/reftest.list +++ b/layout/reftests/bugs/reftest.list @@ -1843,17 +1843,17 @@ test-pref(layout.css.grid.enabled,true) == 1059498-3.html 1059498-1-ref.html == 1062108-1.html 1062108-1-ref.html fails-if(Android) == 1062792-1.html 1062792-1-ref.html == 1062963-floatmanager-reflow.html 1062963-floatmanager-reflow-ref.html test-pref(dom.webcomponents.enabled,true) == 1066554-1.html 1066554-1-ref.html == 1069716-1.html 1069716-1-ref.html == 1078262-1.html about:blank test-pref(layout.testing.overlay-scrollbars.always-visible,false) == 1081072-1.html 1081072-1-ref.html -fuzzy-if(winWidget&&!layersGPUAccelerated,1,31) fuzzy-if(B2G,128,75) == 1081185-1.html 1081185-1-ref.html # fuzzy with event-regions, see bug 1107843 +fuzzy-if(B2G,128,75) == 1081185-1.html 1081185-1-ref.html # fuzzy with event-regions, see bug 1107843 == 1097437-1.html 1097437-1-ref.html == 1103258-1.html 1103258-1-ref.html # assertion crash test with layers culling test == 1105137-1.html 1105137-1-ref.html fuzzy-if(d2d,36,304) HTTP(..) == 1116480-1-fakeitalic-overflow.html 1116480-1-fakeitalic-overflow-ref.html == 1111753-1.html about:blank == 1119117-1a.html 1119117-1-ref.html == 1119117-1b.html 1119117-1-ref.html == 1120431-1.html 1120431-1-ref.html