summaryrefslogtreecommitdiff
path: root/src/parse/language.c
Commit message (Collapse)AuthorAgeFilesLines
* Port libcss to libwapcaplet.Daniel Silverstone2009-02-141-7/+16
| | | | | | | | | It passes the tests, perhaps we need more of them. Lifetimes of lwc_string objects really need attention before we can consider this finished. svn path=/trunk/libcss/; revision=6517
* Rework handling of imported stylesheets.John Mark Bell2009-02-141-37/+2
| | | | | | No longer is the client called back mid-parse. Instead, they must acquire details of and process imported stylesheets after css_stylesheet_data_done() has been called on the parent sheet. The return code of css_stylesheet_data_done() informs the client of the need to process imported sheets. svn path=/trunk/libcss/; revision=6504
* Parse media type list in @import ruleJohn Mark Bell2009-02-141-6/+50
| | | | svn path=/trunk/libcss/; revision=6490
* I guess it helps if you actually flag that you've had a valid statement, so ↵John Mark Bell2009-02-141-0/+6
| | | | | | @import/@charset cease to take effect. svn path=/trunk/libcss/; revision=6484
* Drop css_error_handler and rename css_alloc to css_allocator_fnDaniel Silverstone2009-02-141-2/+2
| | | | svn path=/trunk/libcss/; revision=6482
* Assert that we've got a style once the property handler's returned CSS_OK.John Mark Bell2009-02-141-9/+7
| | | | svn path=/trunk/libcss/; revision=6479
* Distinguish between pseudo classes and pseudo elementsJohn Mark Bell2009-02-101-2/+22
| | | | svn path=/trunk/libcss/; revision=6406
* Simplify API of css_stylesheet_selector_create -- it's always used to create ↵John Mark Bell2009-01-251-4/+2
| | | | | | element selectors. Everything else is handled via detail. svn path=/trunk/libcss/; revision=6266
* Make @import actually create a rule and attempt some kind of fetch logic.John Mark Bell2009-01-141-1/+61
| | | | | | | There's still a bunch of outstanding functionality here (like URL resolution and media list parsing). Also, there's currently no way of telling the client to stop fetching data for a stylesheet (and, more importantly, not to attempt to access the stylesheet again as it's about to be destroyed) svn path=/trunk/libcss/; revision=6062
* Create charset rule objects.John Mark Bell2009-01-141-2/+28
| | | | svn path=/trunk/libcss/; revision=6059
* Given that we're going to be copying selector details, anyway, it seems ↵John Mark Bell2008-12-011-19/+13
| | | | | | pointless to create objects on the heap which can equally well be on the stack, given the shortness of their lifetime. svn path=/trunk/libcss/; revision=5863
* Retain pointer to dictionary entries so we don't have to rediscover it later.John Mark Bell2008-12-011-17/+17
| | | | svn path=/trunk/libcss/; revision=5862
* Use parserutils_hash instead of parserutils_dict.John Mark Bell2008-11-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | This approximately halves the size of the interned string table. We now have the following for allzengarden.css: 5507 slots used (of 8192 => 67.224121%) Data: 3 full blocks: 12288 bytes 10 partial blocks: 38946 bytes (of 40960 => 95.083008%) Total: 53488 (4112) (32) Entries: 21 full blocks: 86016 bytes 1 partial blocks: 2096 bytes (of 4096 => 51.171875%) Total: 90496 (4112) (32) Hash structures: 65592 Which gives a total dictionary size of 209,576 bytes. Note that 43% of this is parserutils_hash_entry structures (length-pointer pairs). It would be good, therefore, to be able to purge these. svn path=/trunk/libcss/; revision=5852
* Tidy things up somewhat.John Mark Bell2008-11-281-0/+1002
css21 is now language, as everything will share the same parsing rules (although there is facility to alter behaviour based upon the language level -- consult language->sheet->level and then decide what to do) svn path=/trunk/libcss/; revision=5815