Closed Bug 1161752 Opened 10 years ago Closed 10 years ago

Overconstrained values in 'direction: rtl' must ignore and solve for 'left'

Categories

(Core :: Layout: Positioned, defect)

defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 817406
Tracking Status
firefox40 --- affected

People

(Reporter: bugzilla, Unassigned)

References

()

Details

(Keywords: testcase, Whiteboard: DUPEME [CSS2.1, §10.3.7])

Test ---- http://www.gtalbot.org/BrowserBugsSection/css21testsuite/abs-pos-non-replaced-icb-overconstrain-001.xht with the embedded file http://www.gtalbot.org/BrowserBugsSection/css21testsuite/embedded-doc-abs-pos-non-replaced-icb-overconstrain-001.html Expected result --------------- http://www.gtalbot.org/BrowserBugsSection/css21testsuite/abs-pos-non-replaced-icb-overconstrain-001-ref.xht Explanation ----------- " The 'direction' property of the initial containing block is the same as for the root element. " 10.1 Definition of "containing block" http://www.w3.org/TR/CSS21/visudet.html#containing-block-details " If the values are over-constrained, ignore the value for 'left' (in case the 'direction' property of the containing block is 'rtl') or 'right' (in case 'direction' is 'ltr') and solve for that value. " 10.3.7 Absolutely positioned, non-replaced elements http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width 20% : left + 0px : margin-left + 0px : border-left-width + 0px : padding-left + 20% : width + 0px : padding-right + 0px : border-right-width + 0px : margin-right + 20% : right ==================== 100% : width of containing block (width of ICB) Notes ----- - There are at least a few (many?) other overconstrained situations not covered by CSS 2.1 test suite which could be found to be incorrectly implemented. The CSS 2.1 test suite does not systematically and methodically test every possible overconstrained situations. - Chrome 42.0.2311.135, Chrome 44.0.2383.0 and IE11 pass this test. - Firefox 37.0.2 and Firefox 40.0a1 buildID=20150430100104 fail this test. - I use Linux 3.13.0-51-generic x86_64, Qt: 4.8.6, KDE 4.13.3; Kubuntu (trusty) 14.04.02 - I've searched for duplicates and did not find any.
I intend to submit this test to the CSS2.1 test suite.
Keywords: testcase
Whiteboard: [CSS2.1, §10.3.7]
Whiteboard: [CSS2.1, §10.3.7] → DUPEME [CSS2.1, §10.3.7]
The layout code that handles this overconstrained situation is correct. It's just that the style data is wrong. It says the ICB 'direction' is LTR so we solve for 'right'. That's bug 817406, IIUC.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → DUPLICATE
Gérard, do you have a similar test that uses position:fixed? I'm asking because those take a different code path in Print Preview, so it would be good to test that too before landing bug 817406.
Flags: needinfo?(bugzilla)
Mats: no, I do not have a similar test that uses position: fixed. I am adding this task into my to-do-list; I'll get back to you when such tests are created.
Flags: needinfo?(bugzilla)
Here a single-file test (with 'position: fixed'), with proportional values only so that it will work regardless of width of viewport: http://www.gtalbot.org/BrowserBugsSection/css21testsuite/fixed-pos-non-replaced-icb-overconstrain-009.xht although this test is CSS3 compliant but not CSS2.1 compliant. I have printed it with Firefox 37.0.2 and the test failed when printed. IE11 and Chrome 42.0.2311.152 pass the test when viewing on screen. I think the test failed when trying to print the test in Chrome 42.0.2311.152. I have not tried to print the test with IE11. Hope this test helps you. Gérard
You need to log in before you can comment on or make changes to this bug.