Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Media queries: Convert to level 4 range in the correct place. | Michael Drake | 2019-05-06 | 1 | -6/+6 |
| | | | | | In mq_parse_range we already have a level 4 range. We need to convert <mf-plain> in mq_parse_media_feature. | ||||
* | Media queries: Reverse operator for level 4 range conversion. | Michael Drake | 2019-05-06 | 1 | -2/+2 |
| | | | | First op/value are encoded as `value op name`. | ||||
* | Fix typo in assertion. | Michael Drake | 2019-05-05 | 1 | -1/+1 |
| | |||||
* | Media queries: Selection: Start implementing mq matching. | Michael Drake | 2019-05-05 | 1 | -8/+60 |
| | |||||
* | Media queries: Parse: Convert level 3 style ranges to level 4. | Michael Drake | 2019-05-05 | 1 | -0/+57 |
| | | | | This will make the selection code's life easier. | ||||
* | Media queries: Intern the query descriptor name as lower case. | Michael Drake | 2019-05-05 | 1 | -1/+4 |
| | |||||
* | Media queries: Imported sheets: Media type falls back to "all". | Michael Drake | 2019-05-05 | 1 | -1/+9 |
| | |||||
* | Media queries: Update selection API to support media queries. | Michael Drake | 2019-05-04 | 5 | -22/+44 |
| | | | | | | | | | | | | | | | | | | | | | The API changes are: 1. When building a selection context, stylesheets added with `css_select_ctx_{append|insert}_sheet()` now have to have media strings associcated with them. Previously they took a simple bitfield for CSS media type. 2. When selecting for an element, the client needs to specify the current media requirements. Previously it only had to provide the bitfield for CSS media type. 3. Same for the css_select_font_faces API. The selection handling has been updated to handle the new API, however it is currently only looking at the media type when performing selection. Signed-off-by: Michael Drake <michael.drake@codethink.co.uk> | ||||
* | Media queries: Fix documentation typo. | Michael Drake | 2019-05-04 | 1 | -1/+1 |
| | | | | Signed-off-by: Michael Drake <michael.drake@codethink.co.uk> | ||||
* | Media queries: Selection: For now, we just say the condition matches. | Michael Drake | 2019-05-04 | 1 | -1/+2 |
| | | | | Signed-off-by: Michael Drake <michael.drake@codethink.co.uk> | ||||
* | Media queries: Validate the query string parameters. | Michael Drake | 2019-05-04 | 1 | -0/+4 |
| | | | | Signed-off-by: Michael Drake <michael.drake@codethink.co.uk> | ||||
* | Media queries: Squash cond_parts parts leak. | Michael Drake | 2019-05-04 | 1 | -0/+1 |
| | | | | Signed-off-by: Michael Drake <michael.drake@codethink.co.uk> | ||||
* | Stylesheet: Drop temporary code to test media query parsing. | Michael Drake | 2019-03-10 | 1 | -7/+0 |
| | |||||
* | Media queries: Move css_parse_media_query to parse/mq.c file. | Michael Drake | 2019-03-10 | 3 | -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 Drake | 2019-03-10 | 1 | -9/+28 |
| | | | | | This converts the experimental code to test the media query parsing into a useful function. | ||||
* | Media queries: Drop parse debug output. | Michael Drake | 2019-03-10 | 1 | -17/+1 |
| | |||||
* | Parse: simplify token vector cleanup. | John-Mark Bell | 2019-03-10 | 1 | -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 Bell | 2019-03-10 | 1 | -3/+31 |
| | | | | | This simply wraps the existing at-rule parser but is able to clean up afterwards. | ||||
* | Media queries: Ensure values get destroyed. | Michael Drake | 2019-03-10 | 1 | -5/+16 |
| | |||||
* | Media Queries: fix parsing of media-condition | John-Mark Bell | 2019-03-10 | 1 | -5/+6 |
| | |||||
* | Parse: only emit start ruleset if there's a brace | John-Mark Bell | 2019-03-10 | 1 | -11/+20 |
| | |||||
* | Parse: fix handling of EOF | John-Mark Bell | 2019-03-10 | 1 | -8/+20 |
| | |||||
* | Parse: maintain stack of brackets in parseAny | John-Mark Bell | 2019-03-10 | 1 | -7/+7 |
| | |||||
* | Parse: fix broken state transition in parseAny | John-Mark Bell | 2019-03-10 | 1 | -2/+2 |
| | |||||
* | Parse: fix dump of tokens with interned strings | John-Mark Bell | 2019-03-10 | 1 | -1/+5 |
| | |||||
* | HACKS for testing Media Queries parsing. | Michael Drake | 2019-03-10 | 4 | -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 Drake | 2019-03-10 | 3 | -54/+62 |
| | |||||
* | Media Queries: Update stylesheet import for media query lists. | Michael Drake | 2019-03-10 | 1 | -2/+4 |
| | |||||
* | Media Queries: Update rule_good_for_media for new mq struct. | Michael Drake | 2019-03-10 | 1 | -6/+44 |
| | | | | | Doesn't currently match media query conditions, only the media type. | ||||
* | Media Queries: Store type as value, rather than lwc_string. | Michael Drake | 2019-03-10 | 2 | -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 Drake | 2019-03-10 | 1 | -1/+1 |
| | |||||
* | Media Queries: Add error-path resource cleanup. | Michael Drake | 2019-03-10 | 1 | -28/+16 |
| | |||||
* | Media Queries: Add destruction functions. | Michael Drake | 2019-03-10 | 2 | -1/+58 |
| | |||||
* | Media Queries: Implement parsing <general-enclosed>. | Michael Drake | 2019-03-10 | 1 | -1/+98 |
| | |||||
* | Media Queries: Squash invalid use of unused variable warning. | Michael Drake | 2019-03-10 | 1 | -1/+2 |
| | | | | error: ‘last’ may be used uninitialized in this function [-Werror=maybe-uninitialized] | ||||
* | Media Queries: Add forward declaration of mq_parse_condition. | Michael Drake | 2019-03-10 | 1 | -0/+4 |
| | |||||
* | Media Queries: mq_parse_ratio doesn't need language object. | Michael Drake | 2019-03-10 | 1 | -5/+5 |
| | |||||
* | Media Queries: Minor fixes. | Michael Drake | 2019-03-10 | 1 | -4/+5 |
| | |||||
* | Strings: Add 'infinite'. | Michael Drake | 2019-03-10 | 2 | -1/+2 |
| | |||||
* | Media Queries: Include string.h for memset. | Michael Drake | 2019-03-10 | 1 | -0/+2 |
| | |||||
* | Media Queries: Include stylesheet.h for css_style. | Michael Drake | 2019-03-10 | 1 | -0/+1 |
| | |||||
* | Media Queries: remainder of parser | John-Mark Bell | 2019-03-10 | 2 | -80/+351 |
| | |||||
* | Propstrings: add AND, ONLY, OR | John-Mark Bell | 2019-03-10 | 2 | -1/+4 |
| | |||||
* | Media Queries: parse features | John-Mark Bell | 2019-03-10 | 2 | -4/+452 |
| | |||||
* | Units: parse new unit names | John-Mark Bell | 2019-03-10 | 2 | -1/+15 |
| | |||||
* | Media Queries: sort out object lifetimes | John-Mark Bell | 2019-03-10 | 3 | -18/+18 |
| | |||||
* | Media Queries: datastructures and plumbing. | John-Mark Bell | 2019-03-10 | 6 | -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 Drake | 2018-07-28 | 4 | -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 Drake | 2018-07-28 | 1 | -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 Drake | 2018-07-28 | 1 | -1/+1 |
| | | | | | | From undefined behaviour sanitizer: src/utils/utils.c:130:18: runtime error: left shift of negative value -1 |