summaryrefslogtreecommitdiff
path: root/content/handlers
Commit message (Collapse)AuthorAgeFilesLines
* css: Fix blocking of presentational hints for author_level_css=0Michael Drake2023-11-251-5/+7
|
* 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.
* css: Add option to ignore author level CSSMichael Drake2023-11-253-5/+17
| | | | | | | | | | | | This adds a new config option, `author_level_css`. When it is disabled, NetSurf will ignore all CSS from the web page. In this case only the default CSS rules from the browser and user CSS rules will be applied. It is enabled by default. Tested by running: ./nsgtk3 --author_level_css=0
* Clean up print format specifier usageMichael Drake2023-06-172-5/+5
|
* Avoid integer types with platform dependent sizeDeltaVonNeumann2023-06-176-21/+25
|
* html: layout: flex: Don't freeze already-frozen itemsMichael Drake2022-12-161-0/+4
| | | | This fixes an error in the used main size tracking.
* html: layout: flex: shrink: Avoid rounding error accumulationMichael Drake2022-12-161-4/+7
|
* html: layout: flex: grow: Avoid rounding error accumulationMichael Drake2022-12-161-3/+6
|
* html: layout: flex: Handle auto margins in main directionMichael Drake2022-12-151-5/+32
|
* html: layout: flex: Track used size and count auto margins for mainMichael Drake2022-12-151-0/+16
|
* html: layout: flex: Helper to get main margin end sizeMichael Drake2022-12-151-16/+32
|
* html: layout: flex: Support reversed main directionMichael Drake2022-12-141-10/+38
|
* html: layout: Helpers to get cross/main box sizeMichael Drake2022-12-141-0/+14
|
* html: layout: flex: Rename indirected box w/h functionsMichael Drake2022-12-142-5/+7
|
* html: layout: flex: Scope reduce variablesMichael Drake2022-12-141-2/+2
|
* html: layout: flex: Only distribute positive remaining cross spaceMichael Drake2022-12-141-1/+1
|
* html: layout: flex: Minor code style changeMichael Drake2022-12-141-6/+3
|
* html: layout: flex: Add code documentationMichael Drake2022-12-141-1/+126
|
* html: layout: flex: Hoist item placement out of line resolverMichael Drake2022-12-141-50/+50
|
* html: layout: flex: Return NULL for pointerMichael Drake2022-12-141-1/+1
|
* html: layout: Helper for whether flex direction is reversedMichael Drake2022-12-141-0/+13
|
* rsvg246: Fix build against librsvg 2.48Michael Drake2022-12-131-0/+7
| | | | The version of librsvg is used on Ubuntu 20.04TLS.
* rsvg246: Split out width/height acquisitionMichael Drake2022-12-131-21/+29
|
* add rsvg image decoder that uses the new APIVincent Sanders2022-11-272-1/+266
|
* (Element): Honour [SameObject] for ::classList getterDaniel Silverstone2022-11-271-10/+20
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* DOMTokenList: Add support and testing for thisDaniel Silverstone2022-11-275-0/+248
| | | | | | | | | | | | We add both DOMTokenList and DOMSettableTokenList and introduce polyfills for stringifying it until nsgenbind can do that. We also bring in a test to demonstrate all that we have. Note: This does not implement the extra methods that exist according to MDN, we may need a polyfill to bring that up to snuff. Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* (duktape): Clear some warnings by adding base data to css rule and stylesheetDaniel Silverstone2022-11-263-0/+48
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* gif: Ensure we never pass NSERROR_OK to error broadcastMichael Drake2022-11-041-3/+0
|
* gif: Mark gifs as complete after scanning source dataMichael Drake2022-11-041-2/+4
| | | | | | This allows libnsgif to distinguish between awaiting more data, and a broken truncated GIF. In the latter case we can display what we have.
* html: layout: flex: Disable verbose loggingMichael Drake2022-11-021-21/+23
|
* html: layout: flex: Implement align-items and align-selfMichael Drake2022-11-022-34/+125
|
* html: layout: flex: Implement wrap-reverseMichael Drake2022-11-021-25/+48
|
* html: layout: flex: Don't pass content around unnecessarilyMichael Drake2022-11-021-7/+4
|
* html: layout: flex: Compare line main size with available mainMichael Drake2022-11-021-34/+35
| | | | | | When deciding whether to use the grow or shrink flex factor we we using the available width, rather than the space available in the main direction.
* html: layout: flex: Unify line item placementMichael Drake2022-11-021-60/+43
|
* html: layout helpers: Add helpers for width/height indirectionMichael Drake2022-11-021-0/+14
|
* html: layout: Remove duplicate typedefsMichael Drake2022-10-291-9/+0
|
* layout: flex: Squash main is usually a function warningMichael Drake2022-10-291-5/+5
|
* html: layout: Initial implementation of display: flexMichael Drake2022-10-2912-92/+1329
|
* html: box_dump: Indicate descendant bounding box valuesMichael Drake2022-10-291-1/+1
|
* 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
|
* layout: calculate_mbp_width: Preserve percentage valuesMichael Drake2022-10-291-2/+2
|
* html: layout: Improve block container assertionsMichael Drake2022-10-291-3/+3
|
* html: layout: Split out common helpersMichael Drake2022-10-292-527/+599
|
* css: Fix dump of display: inline-flexMichael Drake2022-10-291-0/+6
|
* 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
|