This test failure had been fixed by the patches in bug 1345853
MozReview-Commit-ID: AbXj8Ocdw2Y
--HG--
extra : source : c6972fb0a165b0636c009ca88be5433beda15a7c
extra : amend_source : d26baaf72649b57ebdd28b3ce65f95a47ccc3ca6
Per bug 1322570 comment 46, it's not easy to replace ComputedJustifyItems()
and UsedJustifySelf()'s internal nsStyleContext::GetParent() without
correctness penalty, so we use GetParentAllowServo() for now.
Also, fix the reftest.list added in bug 1334403 which incorrectly wrote test
page as reference page.
MozReview-Commit-ID: 6kAAWSFojd5
--HG--
extra : rebase_source : 2d03302115dd40281cec27bc18750b6933682855
This allows us to remove the #ifdef MOZ_ENABLE_WEBRENDER for the advanced layers
prefs from all.js. As additional advanced layers are turned on for webrender (or
non-webrender) they can be converted into override prefs without affecting the
call sites.
MozReview-Commit-ID: F9tMc23ow8A
--HG--
extra : rebase_source : 2244cb000711496ce5b7f1b50ef0314e1c312d94
Since -moz-element is moz only feature, the test case for -moz-element is
created under reftests/image-element folder.
MozReview-Commit-ID: G4V0G3cX7qr
--HG--
extra : rebase_source : f681d64fe4b9331a35fb082c7ed135f58c3f5a9d
I found this problem because I was debugging the failure of
layout/reftests/w3c-css/received/css-writing-modes-3/clearance-calculations-vrl-008.xht
with my patch for bug 1308876. It was failing because the red reference
box that was intended to be covered up was being mispositioned leftwards
by the width of the scrollbar, since we were not reflowing it when we
decided that the viewport did not need scrollbars. This patch fixes
that failure.
This led me to this bug, where
nsAbsoluteContainingBlock::FrameDependsOnContainer was incorrectly
testing conditions for when the values of 'top', 'right', 'bottom', and
'left' require reflow due to changes in the size of the containing
block.
The old code is incorrect in a number of cases, such as:
1. in RTL, with 'right: 100px', it will say that the frame does not
depend on its container's width since 'right' (offset-inline-start)
is a fixed offset and 'left' is 'auto'. However, since the
positioning is relative to the right edge, a change in container size
does require that the absolutely positioned element be repositioned
relative to the container's left edge.
2. In vertical-rl, again with 'right: 100px', it will make the same
mistake, since 'right' (now offset-block-start) is a fixed offset.
This is the case from the test I was debugging.
3. In vertical-rl with rtl direction and 'bottom: 100px', we will make
the same mistake because 'bottom' (inline-start) is fixed and 'top'
is 'auto', and we use 'bottom' rather than 'top'.
However, in cases (1) and (3) we actually avoid hitting the bug in these
simple-ish cases because ReflowInput::ShouldReflowAllKids() returns true
whenever IsIResize() is true, which means that
nsAbsoluteContainingBlock::Reflow doesn't even call
FrameDependsOnContainer. However, FrameDependsOnContainer should still
do the right thing because it's needed for
nsAbsoluteContainingBlock::MarkSizeDependentFramesDirty, which is only
used (from nsBlockFrame) when we reflow again for clearance or for
interruptible reflow. I haven't attempted to write a testcase for that
because it seems likely to require spending hours in the debugger trying
to trigger the right code.
This means that the only test that fails prior to the patch is
dynamic-offset-vrl-001.html, which exercises case (2), and also happens
to be the most similar to problem in clearance-calculations-vrl-008.xht.
This patch also makes the tests stricter so that we do optimize away
resizes in some cases where we're able to do so, such as
'left: 100px; right: auto' in RTL. (Or, rather, we would if it weren't
for the IsIResize() in ShouldReflowAllKids().)
MozReview-Commit-ID: 8xm1AHC21oh
--HG--
extra : transplant_source : %06%B4%40%EB%A9%C8M%F3%99%80%A9%DE%1F%1E%90%D3%F1%04W.