summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Media queries: Validate the query string parameters.Michael Drake2019-05-041-0/+4
| | | | Signed-off-by: Michael Drake <michael.drake@codethink.co.uk>
* Media queries: Squash cond_parts parts leak.Michael Drake2019-05-041-0/+1
| | | | Signed-off-by: Michael Drake <michael.drake@codethink.co.uk>
* Stylesheet: Drop temporary code to test media query parsing.Michael Drake2019-03-101-7/+0
|
* Media queries: Move css_parse_media_query to parse/mq.c file.Michael Drake2019-03-103-106/+107
| | | | It's now exposed in the mq.h header too.
* Media queries: Make css_parse_media_query return the parsed css_mq_query.Michael Drake2019-03-101-9/+28
| | | | | This converts the experimental code to test the media query parsing into a useful function.
* Media queries: Drop parse debug output.Michael Drake2019-03-101-17/+1
|
* Parse: simplify token vector cleanup.John-Mark Bell2019-03-101-48/+28
| | | | | | There's not much point having every call site have to call two functions every time they want to clean the token vector. Instead, have a single function call to do both parts of the cleanup.
* Parse: use an explicit state for media queries.John-Mark Bell2019-03-101-3/+31
| | | | | This simply wraps the existing at-rule parser but is able to clean up afterwards.
* Media queries: Ensure values get destroyed.Michael Drake2019-03-101-5/+16
|
* Media Queries: fix parsing of media-conditionJohn-Mark Bell2019-03-101-5/+6
|
* Parse: only emit start ruleset if there's a braceJohn-Mark Bell2019-03-101-11/+20
|
* Parse: fix handling of EOFJohn-Mark Bell2019-03-101-8/+20
|
* Parse: maintain stack of brackets in parseAnyJohn-Mark Bell2019-03-101-7/+7
|
* Parse: fix broken state transition in parseAnyJohn-Mark Bell2019-03-101-2/+2
|
* Parse: fix dump of tokens with interned stringsJohn-Mark Bell2019-03-101-1/+5
|
* HACKS for testing Media Queries parsing.Michael Drake2019-03-104-1/+131
| | | | | | | | | | | Top level stylesheets need to have their media query passed in. So we need a way to parse standalone media queries. This was hacked together to explore doing that. However, it encounteded an issue where it seems the parseAtRule() function in src/parse/parse.c doesn't handle the full grammar for media queries.
* Media Queries: Parse only needs propstrings out of css_language.Michael Drake2019-03-103-54/+62
|
* Media Queries: Update stylesheet import for media query lists.Michael Drake2019-03-101-2/+4
|
* Media Queries: Update rule_good_for_media for new mq struct.Michael Drake2019-03-101-6/+44
| | | | | Doesn't currently match media query conditions, only the media type.
* Media Queries: Store type as value, rather than lwc_string.Michael Drake2019-03-102-4/+60
| | | | | | Otherwise we need to convert it in selection, and select/ doesn't have access to the css_language interned strings table.
* Media Queries: Fix range parsing.Michael Drake2019-03-101-1/+1
|
* Media Queries: Add error-path resource cleanup.Michael Drake2019-03-101-28/+16
|
* Media Queries: Add destruction functions.Michael Drake2019-03-102-1/+58
|
* Media Queries: Implement parsing <general-enclosed>.Michael Drake2019-03-101-1/+98
|
* Media Queries: Squash invalid use of unused variable warning.Michael Drake2019-03-101-1/+2
| | | | error: ‘last’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
* Media Queries: Add forward declaration of mq_parse_condition.Michael Drake2019-03-101-0/+4
|
* Media Queries: mq_parse_ratio doesn't need language object.Michael Drake2019-03-101-5/+5
|
* Media Queries: Minor fixes.Michael Drake2019-03-101-4/+5
|
* Strings: Add 'infinite'.Michael Drake2019-03-102-1/+2
|
* Media Queries: Include string.h for memset.Michael Drake2019-03-101-0/+2
|
* Media Queries: Include stylesheet.h for css_style.Michael Drake2019-03-101-0/+1
|
* Media Queries: remainder of parserJohn-Mark Bell2019-03-102-80/+351
|
* Propstrings: add AND, ONLY, ORJohn-Mark Bell2019-03-102-1/+4
|
* Media Queries: parse featuresJohn-Mark Bell2019-03-102-4/+452
|
* Units: parse new unit namesJohn-Mark Bell2019-03-102-1/+15
|
* Media Queries: sort out object lifetimesJohn-Mark Bell2019-03-103-18/+18
|
* Media Queries: datastructures and plumbing.John-Mark Bell2019-03-106-106/+231
| | | | | | | | | | | | | No parse implementation as yet. Selection hasn't been updated, either. One item of note in that area is that a client currently provides the media for top-level sheets being added to a selection context. This probably needs to change to providing a lwc_string containing the verbatim media query from the containing document's import mechanism. That way, the internal representation of media queries can remain opaque to clients.
* Select generator: Squash undefined behaviour in generated code.Michael Drake2018-07-284-603/+621
| | | | | | | uint8_t is promoted to int instead of unsigned, so it can't hold the values we try to store. Reran `make select_generator` to update generated code.
* Parsing: Fix undefined shift in css__parse_hash_colour.Michael Drake2018-07-281-2/+2
| | | | | | | | | | uint a = 0xff; a << 24 `a` gets promoted to int, which can't store the value. src/parse/properties/utils.c:655:16: runtime error: left shift of 255 by 24 places cannot be represented in type 'int' src/parse/properties/utils.c:889:15: runtime error: left shift of 255 by 24 places cannot be represented in type 'int'
* css_fixed: Avoid undefined shift.Michael Drake2018-07-281-1/+1
| | | | | | From undefined behaviour sanitizer: src/utils/utils.c:130:18: runtime error: left shift of negative value -1
* Selection: Unify rule good for media helper.Michael Drake2018-07-273-62/+54
|
* Build: Commit generated computed style access source code.Michael Drake2018-01-065-3/+5247
| | | | | | | | This means python3 is not required to build libcss. To re-generate the compute style access code, e.g. when adding new CSS properties, developers must run `make select_generator` and commit the updated generated source code.
* Selection: Autogenerated propset: Fix release of previous strings.Michael Drake2017-11-251-2/+2
|
* Selection: Content prop, use CSS_CONTENT_SET as condition for generator.Michael Drake2017-11-251-1/+1
|
* Select: Bug fixes in the generator.lcneves/select-autogenLucas Neves2017-11-192-18/+17
|
* Add support for new length units.Lucas Neves2017-11-133-0/+52
|
* Select: include autogenerated content in header files.Lucas Neves2017-11-133-5261/+3
|
* Select: autogenerator for computed.h, propset.h and propget.h.Lucas Neves2017-11-136-0/+1273
|
* Squash GCC7 -Wimplicit-fallthrough warnings.Michael Drake2017-10-222-4/+4
|
* Selection: Logic for the flexbox properties.Lucas Neves2017-10-2116-5/+751
|