See testcase (also attached); when a blocklevel element is positioned to the right, containing another blocklevel element that has it's width set to 0 but which has a positive padding-left-value, it appears that the zero-width is ignored and the positioning of the containing element is wrong. Changing the width to a non-zero value doesn't exhibit this behaviour.
Created attachment 74981 [details] Testcase
Created attachment 140539 [details] Patch
The issue is this: When a block parent has a child element with width:0 specified, the width of the parent block is calculated as though the child element's width is not specified and takes the child elements width to set as auto. However the content of the child element will not be painted as the child knows its width is zero. The cause is that while checking for width type (fixed, auto , etc), in the case of type fixed , the width value is expected to be positive. The check however does not consider the case when width is zero.
Comment on attachment 140539 [details] Patch This looks reasonable.
(In reply to comment #4) > (From update of attachment 140539 [details]) > This looks reasonable. Thnk you
Comment on attachment 140539 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=140539&action=review > Source/WebCore/ChangeLog:1 > +2012-05-07 Pravin D <pravind.2k4@gmail.com> Normally contributors write their full names here.
(In reply to comment #6) > (From update of attachment 140539 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=140539&action=review > > > Source/WebCore/ChangeLog:1 > > +2012-05-07 Pravin D <pravind.2k4@gmail.com> > > Normally contributors write their full names here. Pravin D is my full name or atleast how it is in official records :)
A pleasure to meet you then. :)
(In reply to comment #8) > A pleasure to meet you then. :) The pleasure mine. :)
Comment on attachment 140539 [details] Patch Clearing flags on attachment: 140539 Committed r116331: <http://trac.webkit.org/changeset/116331>
All reviewed patches have been landed. Closing bug.