Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Part of #5, #10.
This PR implements the foundations for supporting the CSS OM API. In particular, it provides metadata and functions for properties to convert between shorthand and longhand representations, as well as deal with logical property groups. It also implements
get
,set
andremove
methods forDeclarationBlock
, which correspond with thegetPropertyValue
/getPropertyPriority
,setProperty
, andremoveProperty
methods ofCSSStyleDeclaration
. This allows retrieving any shorthand or longhand property no matter what declarations were actually written, as well as setting such properties.The
Shorthand
trait is added to expose metadata about shorthand properties such as the list of longhands it includes, as well as retrieve and set longhands, or construct the shorthand from a list of longhand declarations. Most shorthands implement this via thedefine_shorthand
ordefine_list_shorthand
macros, which wrap around a struct definition.cc. @lucacasonato this might help you.
To do