Closed Bug 12304 Opened 21 years ago Closed 20 years ago

incorrect overconstraint handling for rtl, absolute


(Core :: Layout, defect, P3)






(Reporter: dbaron, Assigned: troy)




(Keywords: css2, rtl, Whiteboard: 4/26: Bug is valid based on existing CSS2 spec; pending changes in order to verify as 'invalid')


(1 file)

This is the second of two bugs for my finally half-completed test for CSS2
10.3.7 (widths and margins of absolutely positioned non-replaced elements).  The
first is bug 12302.

DESCRIPTION:  There are two cases in the above URL that are severly incorrect.
These are a1b1c1d0e1f1 and a1b1c1d1e1f1.  This means you are incorrectly
handling the overconstraint as described in the last rule (rule 7) of section
10.3.7.  You should be ignoring margin-left when direction is rtl, rather than
ignoring margin-right as you now are.

STEPS TO REPRODUCE:  Look at the above URL.

ACTUAL RESULTS:  The two aforementioned cases touch the left blue edge.

EXPECTED RESULTS:  They should, respectively, touch the right red edge (but see
bug 12302) and right blue edge.

 * Linux, apprunner, 1999-08-20-13-M10
Summary: incorrect absolute positioning margin/width case → incorrect overconstraint handling for rtl, absolute
I don't see why you think a1b1c1d0e1f1 is overconstrained. The only thing I see
that's 'auto' is 'right'?

In the case of a1b1c1d1e1f1 I don't see any properties set to 'auto'?
"Overconstrained" is when nothing is auto after step 4.  In the first case,
right becomes non-auto in step 2 because direction is rtl.  In the second case,
nothing is auto to begin with.  These cases trigger step 7, which should set
margin-right to auto rather than margin-left.
I had code in there at one point to deal with the case where nothing was 'auto',
but I ended up removing it because that caused me to fail another test you had.
Unfortunately I don't remember the details. I guess I'll add it back and see
what breaks...
OS: Linux → All
Hardware: PC → All
 * Windows, apprunner, 1999-08-24-09-M10

Marking All/All
Target Milestone: M12
Summary: incorrect overconstraint handling for rtl, absolute → {css2} incorrect overconstraint handling for rtl, absolute
Target Milestone: M12 → M13
QA Contact: petersen → chrisd
Keywords: css2
Migrating from {css2} to css2 keyword. The {css1}, {css2}, {css3} and {css-moz}
radars should now be considered deprecated in favour of keywords.
I am *really* sorry about the spam...
Adding 'beta1' keyword. Although to date, it is not clear whether the 'right' 
CSS2 property is supported in beta1 (clarification has been requested), the 
property falls within the general CSS2 'absolute positioning' area, which should 
be supported by beta1. 
Keywords: beta1
It's CSS2 and so it's clear it should not be something required for beta. Plus, 
the W3C Style committee is still resolving how this should all work

Please don't change my bugs. Only David Baron and Ian are allowed to muck with 
my bugs
Keywords: beta1
Summary: {css2} incorrect overconstraint handling for rtl, absolute → incorrect overconstraint handling for rtl, absolute
'Beta1' discussion taken offline. If there are specific requirements as to who 
can input to this bug, please state clearly in the bug. Thanks.
Target Milestone: M15 → M17
Marking this INVALID, becaus it isn't applicable now that I have implemented the 
new absolute positioning rules.
Closed: 20 years ago
Resolution: --- → INVALID
I'm not sure why this is invalid unless there are new rules different from the 
CSS2 spec. I am attaching a new testcase where the values are over-constrained 
in an absolutely positioned div and the direction is 'rtl'. In this case, per 
the spec, the 'left' value is to be ignored and then the left value is solved 
again. In this example, the 'left' value should resolve to '0'. What is left is 
a 50px left margin value, a 350px width value, a 25px right margin value and a 
25px right value.
Resolution: INVALID → ---
Above testcase tested on Windows with build #04-26-11-m16
There are new absolute positioning rules and they will be in the upcoming CSS2 

Marking the bug as INVALID again. Please don't reopen it again. If you have a 
different test case, then that's a different problem and you should open up a 
new bug...
Closed: 20 years ago20 years ago
Resolution: --- → INVALID
This bug was reopened based on existing CSS2 specifications. I am unable to 
verify this bug as 'invalid' until I can verify the changes.
Whiteboard: 4/26: Bug is valid based on existing CSS2 spec; pending changes in order to verify as 'invalid'
Will marked this verified invalid, pending official changes to spec
Mass-assigning the new rtl keyword to RTL-related (see bug 349193).
Keywords: rtl
You need to log in before you can comment on or make changes to this bug.