summaryrefslogtreecommitdiff
path: root/src/select
Commit message (Collapse)AuthorAgeFilesLines
* Just match against universal string intern instead of checking strings ↵Michael Drake2013-12-073-8/+13
| | | | length/data.
* Slight simplification to selector detail itterator.Michael Drake2013-12-071-3/+2
|
* Fixup for insensitive hash utilisation.Michael Drake2013-12-021-7/+27
|
* Since element/class/id names are known to have insensitive string set, just ↵Michael Drake2013-12-021-23/+8
| | | | use that hash value for hash table, instead of calculating own hash.
* We know element/id/class names are available through the insensitive ptr now.Michael Drake2013-12-021-22/+9
|
* Significantly optimise CSS selection performance.Michael Drake2013-12-014-123/+444
| | | | | | | | | | | | | | | | Now we pass a node bloom filter to css_get_style. That node bloom filter is filled with the node's ancestor element, class, and id names. Internally, libcss also generates a bloom filter for each selector chain. If the selector chain's bloom filter is not a subset of the node bloom filter, we know that the selector chain's rule does not apply to the node. This avoids the slow selector chain matching process. Other smaller optimisations to move the ruling out of selector chains for inapplicable media types and other reasons to before we start comparing rules from different sources to find the next rule. All this is now done in hash.c so select.c never sees the trivially ruled out rules.
* Fix NULL check of array. Coverity #1127067.Michael Drake2013-11-081-5/+3
|
* Remove redundant masks. Coverity #1127061, #1127062, #1127063, #1127064, ↵Michael Drake2013-11-081-24/+6
| | | | and #1127065.
* Add computed style accessor for writing-mode and and writing-mode to the ↵Michael Drake2013-09-102-0/+22
| | | | property handler table.
* Add support for parsing the writing-mode property. Thanks to Caitlin Potter.Caitlin Potter2013-09-106-2/+119
|
* Prioritise id and class hashes over element hash when inserting rules.Michael Drake2012-08-262-47/+108
|
* Skip empty/broken rules early, before we match their selector chains.Michael Drake2012-08-261-11/+13
|
* Fix not([node_name]) selection.Michael Drake2012-08-071-1/+7
|
* Clear up CLANG warnings in various property settersDaniel Silverstone2012-07-011-11/+14
|
* Update to new NSBUILD infrastructureDaniel Silverstone2012-06-292-2/+2
| | | | svn path=/trunk/libcss/; revision=14004
* correctly apply enum casts to avoid warnings about casting between Vincent Sanders2012-04-141-6/+6
| | | | | | disimmilar enumerations. svn path=/trunk/libcss/; revision=13868
* Complete widows and orphans support. Thanks to James Montgomerie.Michael Drake2012-04-136-38/+219
| | | | svn path=/trunk/libcss/; revision=13864
* Fix debug build (warnings about comparing different enums).François Revel2012-04-061-4/+6
| | | | svn path=/trunk/libcss/; revision=13810
* Use correct unit enum values for computed clip rectangleRob Kendrick2012-03-251-1/+1
| | | | svn path=/trunk/libcss/; revision=13651
* Add support for parsing CSS3 Multi-column layout properties:Michael Drake2012-01-2814-0/+843
| | | | | | | | | | | | | | | | | | + break-after + break-before + break-inside + column-count + column-fill + column-gap + column-rule-color + column-rule-style + column_rule-width + column_span + column_width TODO: Shorthand properties (columns, column-rule) TODO: Selection svn path=/trunk/libcss/; revision=13412
* Fix font-face defaults (credit: James Montgomerie)John Mark Bell2012-01-241-1/+10
| | | | svn path=/trunk/libcss/; revision=13406
* @font-face support. Credit: James MontgomerieJohn Mark Bell2011-12-044-20/+615
| | | | | | Things missing: parser tests; the following descriptors: font-feature-settings, font-stretch, font-variant, unicode-range. svn path=/trunk/libcss/; revision=13244
* Fall back to UA's default font family if no generic family is specified in ↵John Mark Bell2011-12-041-10/+48
| | | | | | | | the input CSS. Based on a patch from James Montgomerie. svn path=/trunk/libcss/; revision=13227
* Simplify cache loop criterion.Michael Drake2011-11-071-2/+3
| | | | svn path=/trunk/libcss/; revision=13134
* Fill reject cache backwards from end.Michael Drake2011-11-072-7/+8
| | | | svn path=/trunk/libcss/; revision=13133
* Code style tweak.Michael Drake2011-11-061-1/+1
| | | | svn path=/trunk/libcss/; revision=13132
* Avoid trying to add already-cached selectors to reject cache. Remove ↵Michael Drake2011-11-061-24/+15
| | | | | | pre-insertion search. svn path=/trunk/libcss/; revision=13131
* Fix regression introduced by reject cache: do not cache failure to match ↵John Mark Bell2011-11-051-0/+1
| | | | | | multi-detailed selectors svn path=/trunk/libcss/; revision=13126
* Selection micro optimisation.Michael Drake2011-11-041-15/+17
| | | | svn path=/trunk/libcss/; revision=13120
* Don't need to match CSS_SELECTOR_ELEMENT detail since it will always match.Michael Drake2011-11-041-8/+13
| | | | svn path=/trunk/libcss/; revision=13119
* Cache rejected ancestor class/ID selectors to improve selection efficiencyJohn Mark Bell2011-11-042-8/+102
| | | | svn path=/trunk/libcss/; revision=13118
* Appease ancient compilersJohn Mark Bell2011-09-061-3/+9
| | | | svn path=/trunk/libcss/; revision=12765
* A bunch more microoptimisationsJohn Mark Bell2011-09-063-101/+74
| | | | svn path=/trunk/libcss/; revision=12746
* Iterate over pseudo elements, then properties, and reject unused pseudo ↵John Mark Bell2011-09-051-16/+15
| | | | | | | | elements at the earliest opportunity. Avoids pointlessly iterating over count(unused-pseudo-element) * count(properties) properties. svn path=/trunk/libcss/; revision=12744
* Compute node name, id, and classes once, instead of once per stylesheetJohn Mark Bell2011-09-052-48/+51
| | | | svn path=/trunk/libcss/; revision=12743
* Hoist string internment into selection context constructor.John Mark Bell2011-09-052-305/+302
| | | | | | Destroy interned strings from selection context destructor. svn path=/trunk/libcss/; revision=12742
* Add support for selecting page-break-{before, after, inside}John Mark Bell2011-08-239-64/+267
| | | | | | Credit: James Montgomerie svn path=/trunk/libcss/; revision=12645
* Fix build with GCC 4.6John Mark Bell2011-07-2612-36/+1
| | | | svn path=/trunk/libcss/; revision=12627
* Add structure versioning for client inputJohn Mark Bell2011-03-131-1/+3
| | | | svn path=/trunk/libcss/; revision=12007
* Ensure that the uncommon extension block is initialised correctlyJohn Mark Bell2011-03-121-1/+24
| | | | svn path=/trunk/libcss/; revision=11990
* Fix set_clipJohn Mark Bell2011-03-121-2/+2
| | | | svn path=/trunk/libcss/; revision=11989
* Fix cascade of clip rectangle valueJohn Mark Bell2011-03-121-0/+1
| | | | svn path=/trunk/libcss/; revision=11988
* CSS3 NamespacesJohn Mark Bell2011-03-123-67/+70
| | | | svn path=/trunk/libcss/; revision=11972
* Hide the CSS computed style itself. Only expose a few simple structures ↵Daniel Silverstone2011-03-124-0/+2114
| | | | | | which we can keep sane. All property accessors are thus hidden behind a link symbol for ABI safety svn path=/trunk/libcss/; revision=11969
* The document root element cannot be the child of anythingJohn Mark Bell2011-01-311-12/+25
| | | | svn path=/trunk/libcss/; revision=11572
* Fix specificity calculation for prefix, suffix, and substring attribute ↵John Mark Bell2011-01-311-0/+21
| | | | | | | | selectors. Fix dumping of these selectors when debugging selector chains svn path=/trunk/libcss/; revision=11569
* Place negated class and id selectors in the universal hash chainJohn Mark Bell2011-01-311-2/+4
| | | | svn path=/trunk/libcss/; revision=11568
* CSS3 SelectorsJohn Mark Bell2011-01-312-4/+309
| | | | svn path=/trunk/libcss/; revision=11557
* Add support for opacity propertyJohn Mark Bell2011-01-296-0/+112
| | | | svn path=/trunk/libcss/; revision=11527
* Centralise handling of transparent colours.John Mark Bell2011-01-299-19/+89
| | | | | | Add support for currentColor svn path=/trunk/libcss/; revision=11525