mirror of
https://github.com/netsurf-browser/netsurf
synced 2025-01-11 13:29:21 +03:00
Fix object descendants and make space for scrollbars if required.
svn path=/trunk/netsurf/; revision=10730
This commit is contained in:
parent
ece31d1358
commit
0de9f41db7
@ -1009,7 +1009,9 @@ void layout_block_add_scrollbar(struct box *box, int which)
|
||||
|
||||
overflow = css_computed_overflow(box->style);
|
||||
|
||||
if (overflow == CSS_OVERFLOW_SCROLL || overflow == CSS_OVERFLOW_AUTO) {
|
||||
if (overflow == CSS_OVERFLOW_SCROLL || overflow == CSS_OVERFLOW_AUTO ||
|
||||
(box->object &&
|
||||
content_get_type(box->object) == CONTENT_HTML)) {
|
||||
/* make space for scrollbars, unless height/width are AUTO */
|
||||
if (which == BOTTOM && box->height != AUTO &&
|
||||
(overflow == CSS_OVERFLOW_SCROLL ||
|
||||
@ -4496,6 +4498,13 @@ void layout_calculate_descendant_bboxes(struct box *box)
|
||||
box->descendant_y1 = box->padding[TOP] + box->height +
|
||||
box->padding[BOTTOM] + box->border[BOTTOM].width;
|
||||
|
||||
if (box->object && content_get_type(box->object) == CONTENT_HTML) {
|
||||
if (box->descendant_x1 < content_get_width(box->object))
|
||||
box->descendant_x1 = content_get_width(box->object);
|
||||
if (box->descendant_y1 < content_get_height(box->object))
|
||||
box->descendant_y1 = content_get_height(box->object);
|
||||
}
|
||||
|
||||
if (box->type == BOX_INLINE || box->type == BOX_TEXT)
|
||||
return;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user