зеркало из https://github.com/mozilla/gecko-dev.git
Bug 725426 - Incorrect getBoundingClientRect() for transform-style: flat. r=roc
This commit is contained in:
Родитель
820b159a4b
Коммит
72ed3d882d
|
@ -1218,6 +1218,9 @@ nsLayoutUtils::GetTransformToAncestor(nsIFrame *aFrame, nsIFrame *aAncestor)
|
|||
nsIFrame* parent;
|
||||
gfx3DMatrix ctm = aFrame->GetTransformMatrix(aAncestor, &parent);
|
||||
while (parent && parent != aAncestor) {
|
||||
if (!parent->Preserves3DChildren()) {
|
||||
ctm.ProjectTo2D();
|
||||
}
|
||||
ctm = ctm * parent->GetTransformMatrix(aAncestor, &parent);
|
||||
}
|
||||
return ctm;
|
||||
|
|
|
@ -183,6 +183,7 @@ _TEST_FILES = \
|
|||
test_bug646757.html \
|
||||
test_bug718809.html \
|
||||
test_font_inflation_reftests.html \
|
||||
test_bug725426.html \
|
||||
$(NULL)
|
||||
|
||||
# Tests for bugs 441782, 467672 and 570378 don't pass reliably on Windows, because of bug 469208
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
<!doctype html>
|
||||
<!--
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=725426
|
||||
-->
|
||||
<title>Test for bug 725426</title>
|
||||
<script src=/tests/SimpleTest/SimpleTest.js></script>
|
||||
<link rel=stylesheet href=/tests/SimpleTest/test.css>
|
||||
<body style=margin:0>
|
||||
<div style="-moz-transform: perspective(200px)">
|
||||
<div style="-moz-transform: translatez(-100px);
|
||||
width:100px;height:100px;background:blue">
|
||||
</div></div>
|
||||
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=725426">
|
||||
Mozilla Bug 725426</a>
|
||||
<pre id=test>
|
||||
<script class=testbody>
|
||||
var rect = document.querySelector("div>div").getBoundingClientRect();
|
||||
is(rect.top, 0, "Incorrect bounding rect top");
|
||||
is(rect.right, 100, "Incorrect bounding rect top");
|
||||
is(rect.bottom, 100, "Incorrect bounding rect top");
|
||||
is(rect.left, 0, "Incorrect bounding rect top");
|
||||
</script>
|
||||
</pre>
|
Загрузка…
Ссылка в новой задаче