private ImmutableStylePropertySet getSupportedProperties(
PropertyDetailsSet detailsSet) {
ImmutableStylePropertySet supportedProperties =
detailsSet.getSupportedProperties();
MutableStylePropertySet propertySet =
supportedProperties.createMutableStylePropertySet();
// CSS 2.1 only supports the content property for ::before and ::after.
// CSS 3 provides additional support for most selectors but we only
// support for li::marker from that additonal set.
//
// We currently assume that no browsers support content natively and do
// emulation for the above usages of content well before this point.
//
// We assume that any content properties which still exist at this
// point have been set on unsupported selectors, so we simply remove
// them. This is required for consistency with CSS 2.1 but also because
// any content properties which contain mcs-component-uri() will cause
// MCS to crash during style sheet extraction.
propertySet.remove(StylePropertyDetails.CONTENT);
supportedProperties = propertySet.createImmutableStylePropertySet();
return supportedProperties;
}