For the poisoning in nsPresArena.cpp I made it print out the details, because
that seems useful. For the other I simply removed the printing of the
unexpected value because that seems less important; we have countless
assertions like that elsewhere in the codebase that don't print the unexpected
value.
--HG--
extra : rebase_source : 34bb135d34c67db8c1db1742a53ea84e472083c6
This matches what Chrome and WebKit do for a single-item background
shorthand, per discussion on today's CSS teleconference. (At least
Chrome has bugs for multiple-items.)
The added test fails without the patch and passes with the patch.
This includes removing:
* the box property directional source constants
* the CSS_PROPERTY_DIRECTIONAL_SOURCE property flag
* the CSS_PROPERTY_REPORT_OTHER_NAME property flag
* nsCSSProps::OtherNameFor
* methods on the CSS parser to parse directional box properties and set
the old *-source and *-value properties
* the resolution of logical and physical properties in nsRuleNode during
style computation, since that's now done as part of the cascade in
nsCSSExpandedDataBlock::MapRuleInfoInto
Here we convert the logical padding properties into their new resolved-at-
cascade-time implementations. This involves:
* converting -moz-padding-{start,end} into logical longhand properties
* adding padding-inline-{start,end} aliases for -moz-padding-{start,end}
* converting padding-{left,right} into longhand properties
* removing padding-{left,right}-value and
padding-{left,right}-{ltr,rtl}-source internal properties
The CSS parser and various tests are simplified a bit as a result.
This includes removing:
* the box property directional source constants
* the CSS_PROPERTY_DIRECTIONAL_SOURCE property flag
* the CSS_PROPERTY_REPORT_OTHER_NAME property flag
* nsCSSProps::OtherNameFor
* methods on the CSS parser to parse directional box properties and set
the old *-source and *-value properties
* the resolution of logical and physical properties in nsRuleNode during
style computation, since that's now done as part of the cascade in
nsCSSExpandedDataBlock::MapRuleInfoInto
Here we convert the logical padding properties into their new resolved-at-
cascade-time implementations. This involves:
* converting -moz-padding-{start,end} into logical longhand properties
* adding padding-inline-{start,end} aliases for -moz-padding-{start,end}
* converting padding-{left,right} into longhand properties
* removing padding-{left,right}-value and
padding-{left,right}-{ltr,rtl}-source internal properties
The CSS parser and various tests are simplified a bit as a result.
* Refuse to serialize some combinations of values that the shorthand
can not represent: 'grid-template-areas: (not none)' combined with
'grid-template-rows: subgrid' or 'grid-template-columns: subgrid'.
(The former used to cause an assertion failure.)
* Remove an extraneous trailing space that occured when a <track-list>
was last. (ie. followed by an omitted <line-names>)
* Add tests for the result of this serialization.