summaryrefslogtreecommitdiff
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-254-5/+20
| | | | | | | | | | | | 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
* Ensure the current scaffold remains validVincent Sanders2023-11-251-0/+12
| | | | | | When a scaffold was being destroyed the currently selected scaffold could become a reference to a destroyed object. This would result in crashes subsequently when the current scaffold was referenced. The change is simply to ensure the selected scaffold is changed to something valid during destruction.
* Update root CA bundleJohn-Mark Bell2023-09-171-214/+318
|
* content: backing store: Remove unused typedef.Michael Drake2023-06-171-8/+0
|
* test: Use YAML SafeLoaderMichael Drake2023-06-171-1/+1
|
* Clean up print format specifier usageMichael Drake2023-06-176-14/+15
|
* Avoid integer types with platform dependent sizeDeltaVonNeumann2023-06-1716-60/+69
|
* ci: Add ccache to github workflowsMichael Drake2023-03-163-0/+21
|
* Retire long-dead codeJohn-Mark Bell2023-03-122-146/+0
|
* arm-riscos-gnueabi: require SharedULib 1.16John-Mark Bell2023-03-061-1/+1
|
* RISC OS: add ARMEABISupport 1.05John-Mark Bell2023-03-062-0/+20
|
* RISC OS: update SharedULib to 1.16John-Mark Bell2023-03-062-8/+7
|
* jenkins-build: add arm-riscos-gnueabiJohn-Mark Bell2023-03-051-1/+23
|
* fetchers/curl: tolerate lack of TLS1.3John-Mark Bell2023-03-051-2/+6
| | | | | | | | If we are building against a modern version of libcurl, but it was built against a version of OpenSSL that does not support TLS1.3, then attempting to configure TLS1.3 ciphersuites will fail with CURLE_NOT_BUILT_IN. Tolerate this scenario by treating such a return code as non-fatal in this case.
* gtk: Don't try to make zero-size bitmapsMichael Drake2023-01-241-0/+4
| | | | | Fixes complete failure to render wikipedia and the register when built against rsvg.
* 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
|
* (curl): Add extra logging to fetcher initialisationDaniel Silverstone2022-12-151-4/+8
| | | | Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
* 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-273-1/+268
|
* (Element): Honour [SameObject] for ::classList getterDaniel Silverstone2022-11-271-10/+20
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* (docs): Update the unimplemented JS bits listDaniel Silverstone2022-11-271-16/+1
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* DOMTokenList: Add support and testing for thisDaniel Silverstone2022-11-277-0/+278
| | | | | | | | | | | | 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>
* utils/utf8.c: Fix missing format string for snprintfDaniel Silverstone2022-11-261-1/+1
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* remove the ambiguity around the reallocation in utf8_to_html()Vincent Sanders2022-11-261-4/+5
|
* consolodate duplicated conversion descriptor cache codeVincent Sanders2022-11-261-58/+61
|
* Improve utf8 conversion functionVincent Sanders2022-11-261-40/+39
| | | | | | | Newer compilers were (correctly) pointing out use after free. Slightly reworkeed conversion function to remove compiler warnings and clean up implementation.
* (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>
* GitHub CI: Make codeql job name match other jobsMichael Drake2022-11-091-1/+1
|
* GitHub CI: Update for new env.shMichael Drake2022-11-093-3/+3
|
* env.sh: Add support for building only a libMichael Drake2022-11-091-56/+75
| | | | | Allow the build environment to be set up for building a library only instead of the whole browser.
* fetchers/curl: drop non-PFS fallback ciphersuiteJohn-Mark Bell2022-11-051-2/+0
|
* fetchers/curl: disable TLS1.0 and TLS1.1 supportJohn-Mark Bell2022-11-052-11/+7
|