| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In order to cope with a situation where a block ends with a
selector which has no ruleset, add an end-block-content event
and in handling it, pop any intermediate states off the language
stack so that we're in block mode by the time the event is completed.
This fixes an assert situation caused by a ruleset such as:
@media screen { dodgy } .outer { top: 10px; }
Which has been encountered in the wild (likely a typo).
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This simply wraps the existing at-rule parser but is able to clean
up afterwards.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
- Remove client allocation function.
- Change node_classes callback not to yield array ownership to libcss.
- Node bloom filters now built by, during selection libcss.
- Added selection callbacks to get and set data on document nodes.
Test suite, example, and documentation updated to match.
|
|
|
|
| |
svn path=/trunk/libcss/; revision=11606
|
|
|
|
| |
svn path=/trunk/libcss/; revision=11492
|
|
|
|
|
|
| |
css__parser_parse_chunk
svn path=/trunk/libcss/; revision=11491
|
|
|
|
|
|
| |
This helps prevent confusion if someone else wants a function called parse_background or similar
svn path=/trunk/libcss/; revision=11416
|
|
|
|
| |
svn path=/trunk/libcss/; revision=10501
|
|
|
|
|
|
|
| |
TODO: update the tests to include a refcounting proof
svn path=/trunk/libcss/; revision=10162
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
svn path=/trunk/libcss/; revision=8991
|
|
|
|
|
|
| |
compilers.
svn path=/trunk/libcss/; revision=8990
|
|
|
|
|
|
| |
Expand test data for this.
svn path=/trunk/libcss/; revision=8931
|
|
|
|
|
|
| |
lwc_context_string_caseless_isequal, instead.
svn path=/trunk/libcss/; revision=8815
|
|
|
|
| |
svn path=/trunk/libcss/; revision=8715
|
|
|
|
|
|
| |
START_STYLESHEET and START_RULESET events twice.
svn path=/trunk/libcss/; revision=8242
|
|
|
|
| |
svn path=/trunk/libcss/; revision=8033
|
|
|
|
| |
svn path=/trunk/libcss/; revision=8025
|
|
|
|
| |
svn path=/trunk/libcss/; revision=8024
|
|
|
|
| |
svn path=/trunk/libcss/; revision=8018
|
|
|
|
| |
svn path=/trunk/libcss/; revision=8014
|
|
|
|
|
|
| |
Why are we interning lowercased versions of strings, anyway?
svn path=/trunk/libcss/; revision=7102
|
|
|
|
|
|
|
| |
Lose trailing commas.
GCC 2.95 compatibility.
svn path=/trunk/libcss/; revision=7099
|
|
|
|
|
|
| |
they ought to be.
svn path=/trunk/libcss/; revision=6532
|
|
|
|
| |
svn path=/trunk/libcss/; revision=6525
|
|
|
|
| |
svn path=/trunk/libcss/; revision=6519
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
svn path=/trunk/libcss/; revision=6482
|
|
|
|
|
|
| |
Fix assertion failure when the first token within a ruleset isn't an IDENT.
svn path=/trunk/libcss/; revision=6213
|
|
|
|
| |
svn path=/trunk/libcss/; revision=6165
|
|
|
|
|
|
| |
Fix EOF handling in the core parser.
svn path=/trunk/libcss/; revision=6164
|
|
|
|
|
|
| |
Fixes content: "", for example.
svn path=/trunk/libcss/; revision=6147
|
|
|
|
| |
svn path=/trunk/libcss/; revision=5862
|
|
|
|
|
|
| |
into the css_token_type enum.
svn path=/trunk/libcss/; revision=5860
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use pointers to parserutils_hash_entry directly in stylesheet datastructures.
The upshot of this for allzengarden.css is:
5506 slots used (of 8192 => 67.211914%)
Data:
8 full blocks: 32768 bytes
9 partial blocks: 35124 bytes (of 36864 => 95.279945%)
Total: 69936 (4112) (32)
Hash structures: 65584
i.e. a total string dictionary size of 135,520 bytes, which is some 74,056 bytes less than before.
svn path=/trunk/libcss/; revision=5859
|
|
|
|
|
|
| |
Update eatWS appropriately. This reduces the number of calls to getToken by a million or so.
svn path=/trunk/libcss/; revision=5855
|
|
|
|
| |
svn path=/trunk/libcss/; revision=5854
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
svn path=/trunk/libcss/; revision=5848
|
|
|
|
|
|
|
|
|
|
| |
use dict entries directly as strings.
iChange the way in which selectors are represented. This significantly reduces memory requirements -- reducing the approximate usage count (excludes the string dictionary, which is about 360k) of allzengarden.css from 4,535,400 bytes to 2,414,312 bytes on a 64bit platform.
The string dictionary is now created and owned by the stylesheet object. The parser is just given access to this so that it can store strings in it.
svn path=/trunk/libcss/; revision=5809
|