summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* Stop leaking references to interned strings obtained from presentational hintsJohn Mark Bell2010-04-281-62/+142
| | | | svn path=/trunk/libcss/; revision=10513
* Ensure than trailing tokens are cleaned on completion of inline style parsingJohn Mark Bell2010-04-271-1/+3
| | | | svn path=/trunk/libcss/; revision=10501
* Ownership of imported stylesheets is retained by the client.John Mark Bell2010-04-111-3/+2
| | | | svn path=/trunk/libcss/; revision=10367
* Fix RISC OS buildJohn Mark Bell2010-04-052-4/+5
| | | | svn path=/trunk/libcss/; revision=10247
* Correct management of string references in computed styles.John Mark Bell2010-04-043-30/+213
| | | | svn path=/trunk/libcss/; revision=10240
* Do not unref strings referenced by bytecode we've just copied when appending ↵John Mark Bell2010-03-281-2/+2
| | | | | | to a rule's style. svn path=/trunk/libcss/; revision=10174
* Make libcss suitable for the new libwapcaplet behaviour.Daniel Silverstone2010-03-2814-1865/+1676
| | | | svn path=/trunk/libcss/; revision=10168
* Fix libcss to use new libwapcaplet behaviour.Daniel Silverstone2010-03-2725-1006/+523
| | | | | | | TODO: update the tests to include a refcounting proof svn path=/trunk/libcss/; revision=10162
* Origin and media are not properties of the stylesheet. John Mark Bell2010-01-123-88/+75
| | | | | | | | | They are properties of the context in which the stylesheet is used. Therefore, for top-level sheets, this information must be provided at selection time. For child sheets, the origin is inherited from their parent and the applicable media types are specified on the linking mechanism. svn path=/trunk/libcss/; revision=9802
* Lose redundant assignments.John Mark Bell2009-11-226-10/+7
| | | | | | | | Drop some dead code. Avoid a potential NULL dereference. Add missing "break" in initial substate of block context parser svn path=/trunk/libcss/; revision=9678
* 1) Allocate css_style bytecode in 16 byte chunksJohn Mark Bell2009-08-293-14/+72
| | | | | | | | | | | | | | | | | | 2) Cache unused css_style objects with chunks of size 16, 32, 48, and 64 bytes The above should reduce heap churn somewhat. Further improvements are possible: 1) Make the property parsers write the parsed values direct into the output bytecode, instead of into a temporary object which is then merged into the output. 2) Perform similar caching for css_rule and selector objects. 3) Shrink-wrap finalised output styles rather than leaving them oversized. 4) Perform measurement to determine the optimal chunk sizes (power-of-2 makes maths simple and 16 is plucked from thin air) and cache bucket count/sizes. svn path=/trunk/libcss/; revision=9502
* Somewhat nasty text-align magic for the benefit of HTML tables.John Mark Bell2009-08-231-0/+11
| | | | svn path=/trunk/libcss/; revision=9405
* It turns out that using magic values for text-align is simpler than having ↵John Mark Bell2009-08-2211-225/+59
| | | | | | an entirely new property for html alignment. svn path=/trunk/libcss/; revision=9387
* Wrong -- it inheritsJohn Mark Bell2009-08-211-1/+1
| | | | svn path=/trunk/libcss/; revision=9380
* -libcss-align is not inheritedJohn Mark Bell2009-08-211-1/+1
| | | | svn path=/trunk/libcss/; revision=9379
* -libcss-alignJohn Mark Bell2009-08-2111-2/+199
| | | | svn path=/trunk/libcss/; revision=9378
* Remove pointless todosJohn Mark Bell2009-08-031-2/+0
| | | | svn path=/trunk/libcss/; revision=9028
* s/opcode/opcode_t/John Mark Bell2009-08-033-5/+5
| | | | svn path=/trunk/libcss/; revision=9020
* Avoid type collisions when used from C++John Mark Bell2009-08-021-1/+1
| | | | svn path=/trunk/libcss/; revision=8996
* More apparent warnings squashedJohn Mark Bell2009-08-021-3/+6
| | | | svn path=/trunk/libcss/; revision=8993
* Avoid potential warning.John Mark Bell2009-08-021-1/+8
| | | | svn path=/trunk/libcss/; revision=8991
* Use unsigned int for bitfields. Apparently, using uint32_t confuses some ↵John Mark Bell2009-08-025-17/+17
| | | | | | compilers. svn path=/trunk/libcss/; revision=8990
* More rigorous handling of EOF.John Mark Bell2009-07-311-7/+75
| | | | | | Expand test data for this. svn path=/trunk/libcss/; revision=8931
* Fix processing of quotes bytecode during cascade.John Mark Bell2009-07-301-7/+9
| | | | svn path=/trunk/libcss/; revision=8912
* Plug potential memory leaks in property settingJohn Mark Bell2009-07-301-0/+27
| | | | svn path=/trunk/libcss/; revision=8911
* Change selector hash to segregate:John Mark Bell2009-07-293-171/+783
| | | | | | | | | | | | | 1) element selectors 2) universal selectors with class names 3) universal selectors with ids 4) universal selectors Only bother looking for matching selectors in 2 & 3 if the node being selected for has class names or an id, respectively. In theory, this should speed up style selection somewhat. svn path=/trunk/libcss/; revision=8882
* Calculate the in-memory size of stylesheets and provide some API to access this.John Mark Bell2009-07-274-0/+170
| | | | svn path=/trunk/libcss/; revision=8830
* If, after parsing the media list, we've ended up with no media whatsoever, ↵John Mark Bell2009-07-271-1/+6
| | | | | | then the list must have been blank, which implies CSS_MEDIA_ALL. svn path=/trunk/libcss/; revision=8822
* Don't intern lower-case versions of strings. Use ↵John Mark Bell2009-07-2721-592/+1916
| | | | | | lwc_context_string_caseless_isequal, instead. svn path=/trunk/libcss/; revision=8815
* Purge use of alloca()John Mark Bell2009-07-221-2/+10
| | | | svn path=/trunk/libcss/; revision=8715
* Clarify operationJohn Mark Bell2009-07-221-2/+3
| | | | svn path=/trunk/libcss/; revision=8706
* Fix rgb() colour parser not to swap g and b.Michael Drake2009-07-221-34/+34
| | | | svn path=/trunk/libcss/; revision=8696
* Match details before considering combinators.John Mark Bell2009-07-221-14/+13
| | | | svn path=/trunk/libcss/; revision=8667
* Remove pointless parameterJohn Mark Bell2009-07-212-6/+5
| | | | svn path=/trunk/libcss/; revision=8653
* Always set values in result style when composingJohn Mark Bell2009-07-211-335/+392
| | | | svn path=/trunk/libcss/; revision=8651
* Avoid division by zeroJohn Mark Bell2009-07-201-2/+5
| | | | svn path=/trunk/libcss/; revision=8624
* Error checking for string comparisons.John Mark Bell2009-07-171-3/+13
| | | | svn path=/trunk/libcss/; revision=8608
* Fix selector hash some more. It turns out that I'd forgotten how it was ↵John Mark Bell2009-07-173-5/+37
| | | | | | meant to work. svn path=/trunk/libcss/; revision=8607
* Colour names are case insensitiveJohn Mark Bell2009-07-171-1/+1
| | | | svn path=/trunk/libcss/; revision=8605
* Fix utterly broken selector chain search code.John Mark Bell2009-07-171-12/+0
| | | | svn path=/trunk/libcss/; revision=8604
* Change mechanism for handling case sensitivity of element names. Now has ↵John Mark Bell2009-07-173-19/+18
| | | | | | | | another selection handler callback for this. Change selector hash to use an ASCII case-insensitive hash function. svn path=/trunk/libcss/; revision=8602
* Store em and percentage values for properties in the computed style.John Mark Bell2009-07-173-536/+1983
| | | | | | | | Fully compute them on access. Introduce a swathe of internal accessors that don't perform the complete computation. Port property composition to these new APIs. Reduce absolute value computation to making font sizes absolute and converting any EX units to EM. svn path=/trunk/libcss/; revision=8601
* It is necessary to consider the element name when matching selectors. John Mark Bell2009-07-171-6/+27
| | | | | | | Firstly, the chains being processed are from a hashtable, so aren't guaranteed to apply to the element being selected. Secondly, when processing combinators, we have a completely different node object to compare. svn path=/trunk/libcss/; revision=8593
* Ensure that we merge-sort the element and universal selector chains during ↵John Mark Bell2009-07-171-44/+51
| | | | | | selection. svn path=/trunk/libcss/; revision=8592
* Fix matching of named ancestor combinators.John Mark Bell2009-07-171-34/+166
| | | | | | Add some helpful debug -- disabled by default. svn path=/trunk/libcss/; revision=8591
* Add a flag to the font size computation callback to indicate that the ↵John Mark Bell2009-07-162-5/+6
| | | | | | resultant absolute font size should not be clamped to a fixed minimum (e.g. if the client has a minimum permissible font size) svn path=/trunk/libcss/; revision=8586
* Hacky avoidance of element name case insensitivity. The correct solution is ↵John Mark Bell2009-07-161-1/+4
| | | | | | for the client to tell us the sensitivity when creating the stylesheet. svn path=/trunk/libcss/; revision=8573
* Use a proper hash function.John Mark Bell2009-07-161-1/+1
| | | | svn path=/trunk/libcss/; revision=8572
* Provide accessor for computed value of display assuming static position.John Mark Bell2009-07-152-58/+2
| | | | | | Modify css_computed_display to follow $9.7. svn path=/trunk/libcss/; revision=8568
* Fix selection from selectors within @media blocks.John Mark Bell2009-07-151-8/+14
| | | | svn path=/trunk/libcss/; revision=8549