containing-block-018/020/022 pass condition is backwards

I believe the pass condition of the following tests is backwards:
http://test.csswg.org/suites/css2.1/20101001/html4/containing-block-018.htm
http://test.csswg.org/suites/css2.1/20101001/xhtml1/containing-block-018.xht
http://test.csswg.org/suites/css2.1/20101001/html4/containing-block-020.htm
http://test.csswg.org/suites/css2.1/20101001/xhtml1/containing-block-020.xht
http://test.csswg.org/suites/css2.1/22101001/html4/containing-block-022.htm
http://test.csswg.org/suites/css2.1/22101001/xhtml1/containing-block-022.xht
though I also don't think they're testing what they intended to
test (though they are, nonetheless, good tests that we should have,
once the pass condition is corrected).

These tests have a blue absolutely positioned element whose left,
right, top, and bottom are all auto.  This means we fall into bullet
point (2) in section 10.3.7, which depends on the 'direction' of the
static-position containing block.  In these tests, the
static-position containing block is the parent, which has direction
'rtl'.  (The containing block itself is the grandparent, with
direction: rtl.)

This means 'right' (and 'top') should end up being set to the static
position, which is the center of the div (since the parent is 0x0),
and the block should be in the lower *left* corner of the box, not
the lower right.

(That said, this is a pretty complicated testcase and I'm not sure
of my analysis.)

-David

-- 
L. David Baron                                 http://dbaron.org/
Mozilla Corporation                       http://www.mozilla.com/

Received on Thursday, 14 October 2010 21:06:17 UTC