Read-only Git mirror of the Mercurial gecko repositories at https://hg.mozilla.org. How to contribute: https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html
Go to file
Simon Sapin ba84578f65 servo: Merge #9929 - Refactor the cascade (from servo:cascade); r=pcwalton
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.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2d6283c64be8c052e6b0a06e857950d7f25db353
2016-03-19 07:39:56 +05:01
servo servo: Merge #9929 - Refactor the cascade (from servo:cascade); r=pcwalton 2016-03-19 07:39:56 +05:01