aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/bindings/codegen
diff options
context:
space:
mode:
authorSimon Sapin <simon.sapin@exyr.org>2016-03-09 00:33:01 +0100
committerSimon Sapin <simon.sapin@exyr.org>2016-03-18 17:09:16 +0100
commit529164e4a5b0fcca67d5a1fa31f17f87c038eadd (patch)
tree4d4db27a18480f46ff0d0ae5e968817d0324624b /components/script/dom/bindings/codegen
parentbab28e507090b06272bc9f85627ebaa5cdeddd62 (diff)
downloadservo-529164e4a5b0fcca67d5a1fa31f17f87c038eadd.tar.gz
servo-529164e4a5b0fcca67d5a1fa31f17f87c038eadd.zip
Refactor the cascade
Converting the specified value of some properties into a computed value depends on the value of other properties. For example, the `em` unit of any length depends on the `font-size` property. Previously, we would do a first pass over applicable declarations to build up a `values::computed::Context` struct with a number of fields for each such piece of data from other properties. This simplies the struct by instead having it contain the set of computed values (for a given element) that is being populated and classify properties into "early" and "other", such that the only dependencies can be from "other" to "early". We iterate applicable_declarations twice, first cascading "early" properties then "other". Unfortunately, it’s not easy to check that this classification is correct.
Diffstat (limited to 'components/script/dom/bindings/codegen')
0 files changed, 0 insertions, 0 deletions