summaryrefslogtreecommitdiff
path: root/content/handlers/html/layout.c
Commit message (Collapse)AuthorAgeFilesLines
* html: layout: Ensure all object types are reflowed if appropriateMichael Drake2023-11-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The SVGTiny content handler uses the reflow method to set the content width/height. The when the content first broadcasts "done", the HTML handler checks if there had already been a layout. If there has, it calls the SVG's content reflow method with the box dimensions. If not, it calls the reflow method with width/height zero. Since the layout code was only reflowing objects if they were HTML, these SVG contents were never getting their actual dimensions. The result of this was that when we came to plot these SVGs we were dividing by zero in the building of the transformation matrix: transform[0] = (float) width / (float) c->width; ... transform[3] = (float) height / (float) c->height; These divided the plot size by the content size. The result of this on the GTK front end was infinities in the transformation matrix passed to Cairo, and the turning of the whole nsgtk window into a glitchy ruin while the SVG was on screen. It may have affected other front ends too; these divide by zeros were happening in the core, and passed to the front ends' plotters. This issue only affected SVGs on HTML pages, and not when viewed directly. Also the SVGs had to be completely fetched and converted before the document had undergone layout. This was the case with SVGs at the top of both Wikipedia and The Register. In both cases the glitching window would be fixed by scrolling down the page past the SVG.
* Avoid integer types with platform dependent sizeDeltaVonNeumann2023-06-171-2/+2
|
* html: layout: Remove duplicate typedefsMichael Drake2022-10-291-9/+0
|
* html: layout: Initial implementation of display: flexMichael Drake2022-10-291-30/+91
|
* layout: minmax pass: Improve handling of {min|max}_width propertiesMichael Drake2022-10-291-32/+59
|
* layout: minmax table: Change logging level to errorMichael Drake2022-10-291-1/+1
|
* html: layout: Improve block container assertionsMichael Drake2022-10-291-3/+3
|
* html: layout: Split out common helpersMichael Drake2022-10-291-527/+15
|
* layout: Constify box through layout_find_dimensions()Michael Drake2022-10-291-1/+1
|
* layout: Constify box through layout_handle_box_sizing()Michael Drake2022-10-291-1/+1
|
* layout: Add helpers for various box type checksMichael Drake2022-10-291-31/+55
|
* layout: Add helper for checking if a style has a border on a sideMichael Drake2022-10-291-2/+9
|
* layout: Drop redundant else blockMichael Drake2022-10-291-2/+0
|
* Switch to new libcss API for unit conversion.Michael Drake2021-05-301-197/+233
|
* html: layout: Cleanup dom node tag name getting with helper.Michael Drake2021-02-201-14/+32
|
* html: layout: Fix to ignore non-element children of lists.Michael Drake2021-02-201-3/+10
|
* layout: Add support for OL reversed attribute.Michael Drake2021-02-101-1/+102
|
* layout: list handling: Scope reduce some variables in the recursive call.Michael Drake2021-02-101-3/+3
|
* html: layout: Change list value step to variable.Michael Drake2021-02-101-1/+2
|
* html: Add support for OL start attribute.Michael Drake2021-02-101-13/+49
| | | | | | | | Note: Added new box member because rows was unsigned, and it was naughty to use something meant for tables. Note: Now numbers <= 0 can be generated, but LibCSS needs updated to support that.
* layout: Add support for list item value attribute.Michael Drake2021-02-091-1/+52
|
* html: Do list item counting at layout time.Michael Drake2021-02-091-0/+79
|
* layout: Pass content into list layout function.Michael Drake2021-02-091-10/+12
|
* layout: Add counting for list items to layout.Michael Drake2021-02-091-0/+97
|
* improve content header usageVincent Sanders2020-05-071-0/+1
|
* clean up content headers and documentation commentsVincent Sanders2020-05-061-0/+1
| | | | pure formatting and documentation changes, no code difference
* improve html content handler private headersVincent Sanders2020-05-021-1/+1
|
* split html box processing codeVincent Sanders2020-04-291-0/+1
| | | | | | | reduce the module size of the html box handling code by splitting into smaller sections. No functional code change.
* Layout: Apply min/max width to replaced elements when width is given.Michael Drake2019-07-301-0/+5
|
* Layout: Add debug logging to show viewport dimensions passed into layout.Michael Drake2019-02-171-0/+4
| | | | Signed-off-by: Michael Drake <michael.drake@codethink.co.uk>
* fix size_t format specifiersVincent Sanders2018-08-181-3/+4
|
* Layout: Use box helper for first child checks.glenwalker/bug_0002428Michael Drake2018-06-291-2/+2
|
* Layout: Tidy condition so it can be read.Michael Drake2018-06-291-7/+6
|
* clean up html content handler header useVincent Sanders2018-05-111-1/+3
| | | | Improve header use in preperation for making browser window a corewindow
* move html and text content handlers where they belongVincent Sanders2018-05-101-0/+5432