Compensate for box->{min_width,max_width} including mbp when

auto-widthing absolutely positioned content.

svn path=/trunk/netsurf/; revision=2670
This commit is contained in:
John Mark Bell 2006-06-29 09:37:18 +00:00
parent 83ef76adc7
commit 38bd0b13fe

View File

@ -2506,6 +2506,10 @@ bool layout_absolute(struct box *box, struct content *content)
margin[LEFT] - border[LEFT] - padding[LEFT] -
padding[RIGHT] - border[RIGHT] - margin[RIGHT];
width = min(max(box->min_width, available_width), box->max_width);
width -= box->margin[LEFT] + box->border[LEFT] +
box->padding[LEFT] + box->padding[RIGHT] +
box->border[RIGHT] + box->margin[RIGHT];
right = containing_block->width -
left -
margin[LEFT] - border[LEFT] - padding[LEFT] -
@ -2560,6 +2564,10 @@ bool layout_absolute(struct box *box, struct content *content)
available_width -= right;
width = min(max(box->min_width, available_width), box->max_width);
width -= box->margin[LEFT] + box->border[LEFT] +
box->padding[LEFT] + box->padding[RIGHT] +
box->border[RIGHT] + box->margin[RIGHT];
left = containing_block->width -
margin[LEFT] - border[LEFT] - padding[LEFT] -
width -
@ -2576,6 +2584,10 @@ bool layout_absolute(struct box *box, struct content *content)
available_width -= left;
width = min(max(box->min_width, available_width), box->max_width);
width -= box->margin[LEFT] + box->border[LEFT] +
box->padding[LEFT] + box->padding[RIGHT] +
box->border[RIGHT] + box->margin[RIGHT];
right = containing_block->width -
left -
margin[LEFT] - border[LEFT] - padding[LEFT] -