Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | src/select/Makefile: the select_generator target is PHONYHEADmaster | Michael Orlitzky | 7 days | 1 | -0/+1 |
| | | | | | | This target doesn't create an object named "select_generator", so it can be marked .PHONY to improve performance slightly and to avoid a conflict with files/directories of the same name. | ||||
* | src/stylesheet.h: set uses_revert flag for shorthand properties | Michael Orlitzky | 8 days | 1 | -1/+5 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Take for example the list-style and list-style-type properties; the former is a shorthand property that subsumes the latter. When the list-style-type property is parsed, the "flags" variable has its FLAG_REVERT bit set, and we call, css__stylesheet_style_appendOPV(result, CSS_PROP_LIST_STYLE_TYPE, flags, value); which then sets the "uses_revert" bit on the stylesheet: if ((flags & (0x7 << 1)) == FLAG_REVERT) { style->sheet->uses_revert = true; } In contrast, when list-style is parsed and a flag is found, we run error = css_stylesheet_style_flag_value(result, flag_value, CSS_PROP_LIST_STYLE_TYPE); which immediately delegates to css__stylesheet_style_append() and buildOPV() without checking if "uses_revert" needs to be set. This can lead to segfault when we try to revert to a state that we have not saved (Mantis bug 2854). Adding a FLAG_REVERT check to css_stylesheet_style_flag_value() fixes the issue for the shorthand properties listed in docs/Bytecode, most (but not all) of which experienced the crash. Closes: https://bugs.netsurf-browser.org/mantis/view.php?id=2854 | ||||
* | Avoid integer types with platform dependent size | DeltaVonNeumann | 2023-06-17 | 45 | -298/+298 |
| | |||||
* | api: fpmath: Add macro to get fractional part | Michael Drake | 2022-12-16 | 1 | -0/+2 |
| | |||||
* | select: generator: Simplify function parameter generation | Michael Drake | 2022-12-03 | 1 | -6/+4 |
| | |||||
* | select: generator: Declare and define bits together | Michael Drake | 2022-12-03 | 2 | -316/+105 |
| | |||||
* | select: generator: Remove dead code | Michael Drake | 2022-12-03 | 2 | -150/+36 |
| | | | | | | | | | | This doesn't change the output of the generator at all. It removes the capability to handle property groups, which has been unused since property grouping was removed. Property grouping was originally an attempt to reduce computed style size, which became redundant complexity when computed styles became interned. | ||||
* | select: generator: Generate _bits variants | Michael Drake | 2022-11-27 | 3 | -114/+1017 |
| | | | | | This avoids having overrides to provide trivially generated variants. | ||||
* | select: generator: Split out propget printer | Michael Drake | 2022-11-27 | 1 | -58/+61 |
| | |||||
* | GitHub CI: Add static analysis with CodeQL | Michael Drake | 2022-11-09 | 1 | -0/+61 |
| | |||||
* | GitHub CI: Add build and unit test workflow | Michael Drake | 2022-11-09 | 1 | -0/+76 |
| | |||||
* | select: autogen source: Update to stable output | Michael Drake | 2022-11-03 | 3 | -539/+540 |
| | |||||
* | select: codegen: Deterministic output by subsorting props by name | Michael Drake | 2022-11-03 | 1 | -1/+1 |
| | |||||
* | select: codegen: Squash comparison with literal warnings | Michael Drake | 2022-11-03 | 1 | -24/+24 |
| | |||||
* | properties: Define align-self values in terms of align-items | Michael Drake | 2022-11-03 | 2 | -11/+11 |
| | |||||
* | tests: Add tests for position:sticky | Michael Drake | 2022-11-03 | 3 | -0/+120 |
| | |||||
* | properties: position: Add support for 'sticky' value | Michael Drake | 2022-11-03 | 7 | -4/+11 |
| | |||||
* | test: Add test for display property grid values | Michael Drake | 2022-10-29 | 1 | -0/+111 |
| | |||||
* | test: dump: Add support for display property grid values | Michael Drake | 2022-10-29 | 1 | -0/+6 |
| | |||||
* | properties: display: Add grid values | Michael Drake | 2022-10-29 | 7 | -3/+18 |
| | |||||
* | docs: bytecode: Add display grid values | Michael Drake | 2022-10-29 | 1 | -0/+2 |
| | |||||
* | select: Fix blank pseudo style reversion | Michael Drake | 2022-10-23 | 1 | -0/+8 |
| | |||||
* | Floating point maths: Squash clang warning | Michael Drake | 2022-10-22 | 1 | -3/+5 |
| | | | | | Implicit conversion from 'int' to 'float' changes value from 2147483647 to 2147483648 [-Werror,-Wimplicit-const-int-float-conversion] | ||||
* | Select: Only store UA and USER origin styles if revert is used | Michael Drake | 2022-08-29 | 1 | -5/+13 |
| | |||||
* | Stylesheet: Track whether stylesheet used revert property value | Michael Drake | 2022-08-29 | 1 | -0/+6 |
| | |||||
* | Select: Move revert style tracking to separate allocation | Michael Drake | 2022-08-29 | 2 | -8/+18 |
| | | | | It's pretty big and the selection state lives on the stack. | ||||
* | Tests: Add tests for explicit defaulting | Michael Drake | 2022-08-29 | 2 | -0/+1453 |
| | |||||
* | Select: Split out duplicated revert handling | Michael Drake | 2022-08-29 | 1 | -52/+47 |
| | |||||
* | Select: Support CSS property-wide 'revert' value | Michael Drake | 2022-08-29 | 1 | -0/+79 |
| | |||||
* | Select: Clone UA and author styles for revert | Michael Drake | 2022-08-29 | 2 | -0/+38 |
| | |||||
* | Select: Add computed style clone function | Michael Drake | 2022-08-29 | 2 | -0/+35 |
| | |||||
* | Select: Properties: Add copy hander to dispatch table | Michael Drake | 2022-08-29 | 2 | -0/+3 |
| | |||||
* | Select: Properties: Implement copy handler for complex properties | Michael Drake | 2022-08-29 | 8 | -155/+306 |
| | |||||
* | Select: Properties: Add copy handler for simple properties | Michael Drake | 2022-08-29 | 118 | -507/+1778 |
| | |||||
* | Select: Support CSS property-wide 'unset' value | Michael Drake | 2022-08-29 | 1 | -3/+18 |
| | |||||
* | Select: Support CSS property-wide 'initial' value | Michael Drake | 2022-08-29 | 1 | -3/+6 |
| | |||||
* | Select: Make inherit flag handling aware of other default values | Michael Drake | 2022-08-29 | 70 | -171/+179 |
| | |||||
* | Parse: Nongenerated properties: Explicit defaults | Michael Drake | 2022-08-29 | 31 | -135/+363 |
| | |||||
* | Parse: Important: Handle new explicit defaulting values | Michael Drake | 2022-08-29 | 1 | -1/+1 |
| | |||||
* | Parse: Explicit default support for generated properties | Michael Drake | 2022-08-29 | 1 | -93/+93 |
| | |||||
* | Parse: Update code generator to support new values | Michael Drake | 2022-08-29 | 1 | -4/+42 |
| | |||||
* | Stylesheet: Helpers for all default property values | Michael Drake | 2022-08-29 | 1 | -1/+33 |
| | |||||
* | Parse: Utils: Helper to get any value from flags | Michael Drake | 2022-08-29 | 1 | -0/+29 |
| | |||||
* | Bytecode: Flag values for explicit defaulting | Michael Drake | 2022-08-29 | 1 | -4/+25 |
| | |||||
* | Docs: Bytecode: Add all CSS-wide property values | Michael Drake | 2022-08-29 | 1 | -8/+16 |
| | |||||
* | Parse: Propstrings: Add unset and revert | Michael Drake | 2022-08-29 | 2 | -2/+4 |
| | |||||
* | Select: MQ: Support prefers-color-scheme in boolean context | Michael Drake | 2022-08-28 | 1 | -4/+5 |
| | | | | | In boolean context it indicates that the browser supports this feature. | ||||
* | Select: MQ: Use interned strings for media features | Michael Drake | 2022-08-28 | 4 | -36/+63 |
| | | | | Avoids some strcmps. | ||||
* | Select: Add strings for media query features | Michael Drake | 2022-08-28 | 2 | -0/+29 |
| | |||||
* | Select: Split out useful strings | Michael Drake | 2022-08-28 | 4 | -289/+320 |
| |