diff options
author | Simon Sapin <simon.sapin@exyr.org> | 2016-03-09 00:33:01 +0100 |
---|---|---|
committer | Simon Sapin <simon.sapin@exyr.org> | 2016-03-18 17:09:16 +0100 |
commit | 529164e4a5b0fcca67d5a1fa31f17f87c038eadd (patch) | |
tree | 4d4db27a18480f46ff0d0ae5e968817d0324624b /components/script/dom/bindings/codegen | |
parent | bab28e507090b06272bc9f85627ebaa5cdeddd62 (diff) | |
download | servo-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